spring 的事務傳播機制

PROPAGATION_REQUIREDspa

--支持當前事務,若是當前沒有事務,就新建一個事務。這是最多見的選擇。 事務

PROPAGATION_SUPPORTSit

--支持當前事務,若是當前沒有事務,就以非事務方式執行。 io

PROPAGATION_MANDATORY配置

--支持當前事務,若是當前沒有事務,就拋出異常。 date

PROPAGATION_REQUIRES_NEW異常

--新建事務,若是當前存在事務,把當前事務掛起。 vi

PROPAGATION_NOT_SUPPORTEDtransaction

--以非事務方式執行操做,若是當前存在事務,就把當前事務掛起。 管理

PROPAGATION_NEVER

--以非事務方式執行,若是當前存在事務,則拋出異常。 

PROPAGATION_NESTED

--若是當前存在事務,則在嵌套事務內執行。若是當前沒有事務,

則進行與PROPAGATION_REQUIRED相似的操做


一般狀況下通常都是使用REQUIRED

<!-- 配置事務管理器-->

<tx:advice id="txAdvice" transaction-manager="txManager">

<tx:attributes>

<tx:method name="find*" read-only="true"></tx:method>

<tx:method name="add*" propagation="REQUIRED" />

<tx:method name="update*" propagation="REQUIRED" />

<tx:method name="del*" propagation="REQUIRED" />

</tx:attributes>

</tx:advice>  

相關文章
相關標籤/搜索