1. 程式人生 > >spring 事務隔離級別配置

spring 事務隔離級別配置

宣告式的事務處理中,要配置一個切面,即一組方法,如

Java程式碼  收藏程式碼<!-- 宣告式事務管理 --> <!-- 隔離級別配置-->
    <tx:advice id="txAdvice" transaction-manager="transactionManager">  
        <tx:attributes>  
            <tx:method name="find*" propagation="SUPPORTS" read-only="true" />  
            <tx:method name="query*" propagation="SUPPORTS" read-only="true" />  
            <tx:method name="list*" propagation="SUPPORTS" read-only="true" />  
 
            <tx:method name="create*" propagation="REQUIRED" />  
            <tx:method name="save*" propagation="REQUIRED" />  
            <tx:method name="modify*" propagation="REQUIRED" />  
            <tx:method name="update*" propagation="REQUIRED" />  
            <tx:method name="delete*" propagation="REQUIRED" />  
            <tx:method name="*" propagation="SUPPORTS" read-only="true" />  
        </tx:attributes>  
    </tx:advice>


其中就用到了propagation,表示打算對這些方法怎麼使用事務,是用還是不用,其中propagation有七種配置,REQUIRED、SUPPORTS、MANDATORY、REQUIRES_NEW、NOT_SUPPORTED、NEVER、NESTED。預設是REQUIRED。
2.七種配置的意思
下面是Spring中Propagation類的事務屬性詳解:

REQUIRED:支援當前事務,如果當前沒有事務,就新建一個事務。這是最常見的選擇。

SUPPORTS:支援當前事務,如果當前沒有事務,就以非事務方式執行。

MANDATORY:支援當前事務,如果當前沒有事務,就丟擲異常。

REQUIRES_NEW:新建事務,如果當前存在事務,把當前事務掛起。

NOT_SUPPORTED:以非事務方式執行操作,如果當前存在事務,就把當前事務掛起。

NEVER:以非事務方式執行,如果當前存在事務,則丟擲異常。

NESTED:支援當前事務,如果當前事務存在,則執行一個巢狀事務,如果當前沒有事務,就新建一個事務。
3.注意.
這個配置將影響資料儲存,必須根據情況選擇。

相關推薦

spring 事務隔離級別配置

宣告式的事務處理中,要配置一個切面,即一組方法,如 Java程式碼  <!-- 宣告式事務管理 --> <!-- 隔離級別配置-->    <tx:advice id="txAdvice" transaction-manager="transactionManager">

Spring事務隔離級別和傳播特性

我們 head ttr and frame 自己的 傳播行為 nag key 傳播行為 事務的第一個方面是傳播行為。傳播行為定義關於客戶端和被調用方法的事務邊界。Spring定義了7中傳播行為。 傳播行為 意義 PROPAGATION_MANDATORY

Spring事務 隔離級別和傳播行為

TransactionDefinition.ISOLATION_DEFAULT:這是預設值,表示使用底層資料庫的預設隔離級別。對大部分資料庫而言,通常這值就是TransactionDefinition.ISOLATION_READ_COMMITTED。 TransactionDefinition.ISOLA

Spring事務隔離級別

幻像讀是指同一查詢在同一事務中多次進行,由於其他提交事務所做的插入操作,每次返回不同的結果集,此時發生幻像讀。(A transaction reexecutes a query returning a set of rows that satisfies a search condition and find

spring事務的傳播屬性和事務隔離級別配置事務(註解方式)

一、Propagation (事務的傳播屬性) Propagation :  key屬性確定代理應該給哪個方法增加事務行為。這樣的屬性最重要的部份是傳播行為。有以下選項可供使用:   PROPAGATION_REQUIRED--支援當前事務,如果當前沒有事務,就新建一個事務。這是最常見的選擇。 PROPAG

什麽是事務事務特性、事務隔離級別spring事務傳播特性

ons pri table 產生 serializa support enc 不一致 修改 1.什麽是事務: 事務是程序中一系列嚴密的操作,所有操作執行必須成功完成,否則在每個操作所做的更改將會被撤銷,這也是事務的原子性(要麽成功,要麽失敗)。 2.事務特性: 事務特性分為

spring事務隔離級別

1. ISOLATION_DEFAULT: 這是一個PlatfromTransactionManager預設的隔離級別,使用資料庫預設的事務隔離級別。 另外四個與JDBC的隔離級別相對應。  2. ISOLATION_READ_UNCOMMITTED: 這是事務最低的

spring 七種事務傳播行為和五種事務隔離級別

事務傳播行為:propagation_控制事務傳播行為 1.REQUIRED(預設值):如果當前有事務,就在事務中執行;如果沒有事務,就新建一個事務 2.SUPPORTS:如果當前有事務,就在事務中執行;如果沒有事務,就在非事務狀態下執行 3.MANDATORY:必須在

spring事務傳播行為及事務隔離級別

事務的特性(ACID): 1. 原子性(Atomicity):  事務是一個不可分割的工作單位,事務中的操作要麼都發生,要麼都不發生。 2. 一致性(Consistency): 事務前後資料的完整性必須保持一致 3. 隔離性(Isolation):一個事務的執行不能被其他事

spring事務傳播特性和事務隔離級別

一、事務傳播特性 轉自:http://www.iteye.com/topic/35907 在所有使用 spring 的應用中, 宣告式事務管理可能是使用率最高的功能了, 但是, 從我觀察到的情況看, 絕大多數人並不能深刻理解事務宣告中不同事務傳播屬性配置的的含義, 讓我們

spring 事務傳播行為和事務隔離級別

1、Spring宣告式事務 宣告式事務(declarative transaction management)是Spring提供的對程式事務管理的方式之一。 Spring的宣告式事務顧名思義就是採用宣告的方式來處理事務。這裡所說的宣告,就是指在配置檔案中申明。用在Sp

資料庫事務隔離級別,ACID,spring事務傳播性

ACID,是指在資料庫管理系統(DBMS)中事務所具有的四個特性:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation,又稱獨立性)、永續性(Durability)。 在資料庫系統中,一個事務是指由一系列資料庫操作組成的一個完整的邏輯過程。例如銀行轉帳,從原賬戶扣除金額

筆記——spring基本使用(控制反轉IOC、面向切面程式設計AOP、宣告式事務事務隔離級別事務傳播)

spring溫習筆記 Spring是一個開放原始碼的設計層面框架,他解決的是業務邏輯層和其他各層的鬆耦合問題,因此它將面向介面的程式設計思想貫穿整個系統應用。 Spring 的控制反轉IOC、面向切面程式設計AOP等特性不多說。 本文核心內容:搭建一個Spring Dem

Spring事務傳播型別、事務隔離級別

事務傳播型別 spring 的7種事務傳播型別 PROPAGATION_REQUIRED: 如果當前沒有事務,則建立一個新事務;如果當前存在事務,就加入該事務;該配置是最常用的設定。 PROPAGAT

[spring]事務傳播級別隔離級別以及高併發下的應用經驗

事務是邏輯處理原子性的保證手段,通過使用事務控制,可以極大的避免出現邏輯處理失敗導致的髒資料等問題。 事務最重要的兩個特性,是事務的傳播級別和資料隔離級別。傳播級別定義的是事務的控制範圍,事務隔離級別定義的是事務在資料庫讀寫方面的控制範圍。 以下是事務的7種傳播級別: 1) PROPAGATION_REQ

Spring事務隔離級別(isolation)

隔離為了解決事務併發問題(髒讀、幻讀、不可重複讀),隔離級別就是解決這 些問題的等級。ISOLATION_DEFAULT  使用後端資料庫預設的隔離級別。ISOLATION_READ_UNCOMMIT

spring事務管理,事務隔離級別(程式碼級別)

資料庫提供了四種事務隔離級別, 不同的隔離級別採用不同的鎖類開來實現.  在四種隔離級別中, Serializable的級別最高, Read Uncommited級別最低.  大多數資料庫的預設隔離級別為: Read Commited,如Sql Server , Oracle.  少數資料庫預設的隔離級別為R

資料庫事務隔離級別以及spring傳播屬性

資料庫事務隔離級別 資料庫有四種事務隔離級別 讀未提交(Read uncommitted) 讀已提交(Read committe

淺談Spring事務隔離級別與傳播性

這篇文章以一個問題開始,如果你知道答案的話就可以跳過不看啦@(o・ェ・)@ Q:在一個批量任務執行的過程中,呼叫多個子任務時,如果有一些子任務發生異常,只是回滾那些出現異常的任務,而不是整個批量任務,請問在Spring中事務需要如何配置才能實現這一功能呢? 隔離級別 隔離性(Isolation)作為事務特性的

mysql的事務隔離級別

too con jpg 級別 tran 開啟 數據行 修改 ges 原文地址:http://www.cnblogs.com/snsdzjlz320/p/5761387.html [Mysql]——通過例子理解事務的4種隔離級別 SQL標準定義了4種隔離級別,包括了一