spring的事物传递
Propagation.REQUIRED:默认也是常用的事物级别,在当前事物中执行,不存在事物,则创建新事物执行。
Propagation.SUPPORTS:支持使用当前事物,当前事物不存爱,则不使用事物。
Propagation.MANDATORY:强制在事物中执行,不存在事物,抛出异常
Propagation.REQUIRES_NEW:创建新事物执行,存在当期事物,则挂起当期事物
Propagation.NOT_SUPPORTED:无事务执行,如果当前事务存在,把当前事务挂起。
Propagation.NEVER:无事务执行,如果当前有事务则抛出Exception
Propagation.NESTED:与REQUIRED类似
仅个人理解
实例;
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="update*" propagation="REQUIRED" />
<tx:method name="save*" propagation="REQUIRED" />
<tx:method name="add*" propagation="REQUIRED" />
<tx:method name="merge*" propagation="REQUIRED" />
<tx:method name="insert*" propagation="REQUIRED" />
<tx:method name="create*" propagation="REQUIRED" />
<tx:method name="delete*" propagation="REQUIRED" />
<tx:method name="publish*" propagation="REQUIRED" />
<tx:method name="invalidate*" propagation="REQUIRED" />
<tx:method name="executeEngine*" propagation="REQUIRED" />
<tx:method name="batchCreate*" propagation="REQUIRED" />
<tx:method name="forward*" propagation="REQUIRED" />
<tx:method name="agree*" propagation="REQUIRED" />
<tx:method name="refuse*" propagation="REQUIRED" />
<tx:method name="complete*" propagation="REQUIRED" />
<tx:method name="cancel*" propagation="REQUIRED" />
<tx:method name="forward*" propagation="REQUIRED" />
<tx:method name="file*" propagation="REQUIRED" />
<tx:method name="modify*" propagation="REQUIRED" />
<tx:method name="del*" propagation="REQUIRED" />
<tx:method name="deploy*" propagation="REQUIRED" />
<tx:method name="find*" propagation="REQUIRED" />
</tx:attributes>
</tx:advice>

浙公网安备 33010602011771号