Spring嵌套事务控制
2014-07-26 00:00
197 查看
假设在我们项目中事务控制是放在service层,
一。现在项目中有一个ServiceA中有方法method1和method2,方法method2配置的事务级别为PROPAGATION_REQUIRES_NEW,方法method1不受事务控制
1。当在method1中调用method2时,method2此时也不受事务控制,如:在method2中进行数据插入操作,第一条数据插入成功,第二条数据插入发生异常,此时因为method2不受事务控制,在第一条数据插入成功后,第二条数据插入即使抛出异常,此时第一条数据也不会被回滚.
2.当在method2中调用method1时,则此时method1会受事务控制,如:在method1中进行数据插入操作,插入成功,但此时method2中抛出异常,结果method1成功插入的数据会回滚.
二。现项目中有ServiceA,ServiceB两个Service,在ServiceA中有method1方法,在SerivceB中有method2方法.其中method1不受事务控制,method2受事务控制
1.当在method1中调用ServiceB中的method2方法,在method2方法中执行往数据库中插入两次数据,第一次插入成功,第二次插入发生异常,此时第一次插入成功的数据会发生回滚,由此可见ServiceB中的method2还是受事务控制,而在method1中如果分两次往数据库中插入数据,第一次插入成功,第二次发生异常,此时第一次插入的数据不会回滚,同时也不会影响method2中的插入数据。
2。当在ServiceB中的method2中调用ServiceA中的method1时,method1中执行数据插入成功,而此时method2中操作发生异常,结果会导致method1中数据回滚,由此可知method1共用method2的事务。
一。现在项目中有一个ServiceA中有方法method1和method2,方法method2配置的事务级别为PROPAGATION_REQUIRES_NEW,方法method1不受事务控制
1。当在method1中调用method2时,method2此时也不受事务控制,如:在method2中进行数据插入操作,第一条数据插入成功,第二条数据插入发生异常,此时因为method2不受事务控制,在第一条数据插入成功后,第二条数据插入即使抛出异常,此时第一条数据也不会被回滚.
2.当在method2中调用method1时,则此时method1会受事务控制,如:在method1中进行数据插入操作,插入成功,但此时method2中抛出异常,结果method1成功插入的数据会回滚.
二。现项目中有ServiceA,ServiceB两个Service,在ServiceA中有method1方法,在SerivceB中有method2方法.其中method1不受事务控制,method2受事务控制
1.当在method1中调用ServiceB中的method2方法,在method2方法中执行往数据库中插入两次数据,第一次插入成功,第二次插入发生异常,此时第一次插入成功的数据会发生回滚,由此可见ServiceB中的method2还是受事务控制,而在method1中如果分两次往数据库中插入数据,第一次插入成功,第二次发生异常,此时第一次插入的数据不会回滚,同时也不会影响method2中的插入数据。
2。当在ServiceB中的method2中调用ServiceA中的method1时,method1中执行数据插入成功,而此时method2中操作发生异常,结果会导致method1中数据回滚,由此可知method1共用method2的事务。
相关文章推荐
- java中Spring嵌套事务控制
- spring的嵌套事务控制
- java中Spring嵌套事务控制
- Spring嵌套事务控制
- Spring_事务控制
- spring 的aop控制事务
- spring 2.5整合jdbc进行数据库操作和XML事务控制
- Spring 事务控制的几个文章
- Spring嵌套事务的两种事务管理配置方式
- 在Spring中使用JTA事务管理【两个数据库实现事务控制】
- Spring事务控制(txManager)
- 解惑 spring 嵌套事务
- 解惑spring嵌套事务
- 关于Spring.net+NHibernate的事务控制
- Spring事务托管配置及session控制
- 解惑 spring 嵌套事务
- spring 2.5整合jdbc进行数据库操作和注解事务控制
- spring 嵌套事务 详解
- 用Spring来控制事务管理
- spring 的事务控制 (spring + Ibatis)