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>