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>