spring aop中propagation的7种配置

来源:互联网 发布:alias 软件 编辑:程序博客网 时间:2024/06/04 19:45

spring aop中propagation的7种配置:

1、 前言:
在声明式的事务处理中,要配置一个切面,即一组方法:

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

其中就用到propagation,表示打算对这些方法怎么使用事务,是用还是不用,其中propagation有7种配置: REQUIRED、SUPPORTS、MANDATORY、REQUIRES_NEW、NOT_SUPPORTED、NEVER、NESTED,默认是REQUIRED.

2、 7种配置的意思:
REQUIRED: 支持当前事务,如果当前没有事务,就新建一个事务。
SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行。
MANDATORY: 支持当前事务,如果当前没有事务,就抛出异常
REQUIRES_NEW:新建事务,如果当前存在事务,把当前事务挂起
NOT_SUPPORTED: 以非事务方式执行操作,如果当前存在事务,就把当前事务挂起
NEVER: 以非事务方式执行,如果当前存在事务,则抛出异常
NESTED: 支持当前事务,如果当前事务存在,则执行一个嵌套事务,如果当前没有事务,就新建一个事务

3、 注意:这个配置将影响数据存储,必须根据情况选择

阅读全文
0 0