Spring AOP 中propagation的配置

声明式的事务处理中,要配置一个切面,即一组方法

<tx:advice id = "txAdvice" transaction-manager="txManager">
<tx:attributes>
    <tx:method name="find*" read-only ="true" propagation = "NOT_SUPPORT">
</tx:attributes>
</tx:advice>

propagation的设置标志着这些方法如何使用事务。默认值为REQUIRED

propagation七种配置选项
  • REQUIRED 支持当前事务,如果当前没有事务,就新建一个事务
  • SUPPORTS 支持当前事务,如果当前没有事务,就以非事务方式执行
  • MANDATORY 支持当前事务,如果当前没有事务,就抛出异常
  • REQUIRES_NEW 新建事务,如果当前存在事务,把当前事务挂起
  • NOT_SUPPORTED 以非事务方式执行当前操作,如果当前存在事务,就把当前事务挂起
  • NEVER 以非事务方式执行,如果当前存在事务,则抛出异常
  • NESTED 支持当前事务,如果当前事务存在,则执行一个嵌套事务,如果当前没有事务,就新建一个事务。
阅读更多

没有更多推荐了,返回首页