spring 事务传播问题

来源:互联网 发布:mac上的日记软件 编辑:程序博客网 时间:2024/05/30 05:42

spring 事务配置:

<tx:attributes>      <tx:method name="add*" propagation="REQUIRED" />      <tx:method name="get*" read-only="true"/></tx:attributes>

ServiceA

ServiceA {      add(){      }}

ServiceB

ServiceB {      notTransation() {            sql:addEntity;      }      get() {            sql:addEntity;      }}


ServiceA.add调用notTransation 可以insert数据 并且是在走完add这个事务以后提交的

解释:应该是这种没有加入事物的方法调用就类似于 notTransation这个方法体里面的方法全部在add()调用一样。可以提交为ServiceA内部方法调用(这种方式也不会触发事务的传播性)


ServiceB.add调用get可以insert数据

解释: 这个很好理解 REQUIRED的传播就是存在事务就不新建事务

也就是说add新建了一个可写事务,传播到get不会新建一个readonly事务 而是还会用可写事务




0 0
原创粉丝点击