spring @Transactional 事务不回滚的其中一个原因
2016-11-02 09:57
387 查看
1、当出现以下代码情况时会出现@Transactional 无效,事务无法回滚,原因是当异常抛出后被function1方法捕获了,无法抛出异常。导致spring 事务无法捕获到异常。导致无法回滚。
public void function1()
{
try{
function2();
}catch(Exception e)
{
}
}
@Transactional
public void function2()
{
//do something
}
但是当function2()是另外一个service中的事务时,则可以调用。
public void function1()
{
try{
function2();
}catch(Exception e)
{
}
}
@Transactional
public void function2()
{
//do something
}
但是当function2()是另外一个service中的事务时,则可以调用。
相关文章推荐
- spring + mybatis 注解式事务不回滚的原因分析 @Transactional
- Spring @Transactional ——事务回滚
- 关于Spring的@Transactional注解失效以及事务无法回滚问题
- [spring,mysql] spring使用注解式事务声明(@Transactional)无法回滚
- Spring事务异常回滚失败原因,在事务处理层捕获异常不抛出就不会回滚
- Spring中Transactional不添加rollbackFor等属性时的事务回滚问题
- spring默认就能行,没有就新建,有了就一起用一个事务(service调用service),一方错都回滚
- Spring @Transactional ——事务回滚
- spring注解事务及事务回滚失败的原因
- [spring,mysql] spring使用注解式事务声明(@Transactional)无法回滚 .
- spring jpa 中事物管理的一个测试用例,看看嵌套事务的回滚机制
- Spring事务不回滚原因分析
- spring@Transactional注解事务不回滚不起作用无效的问题处理
- Spring中声明式事务的注解@Transactional的参数的总结(REQUIRED和REQUIRES_NEW的与主方法的回滚问题)
- Spring MVC @Transactional注解方式事务无法回滚的解决办法
- Spring源码分析--@Autowired注入的不是代理对象,导致事务回滚失败(@Transactional无效)
- Spring @Transactional ——事务回滚
- Spring @Transactional ——事务回滚
- 使用spring声明式事务,spring使用AOP来支持声明式事务,会根据事务属性,自动在方法调用之前决定是否开启一个事务,并在方法执行之后决定事务提交或回滚事务。
- (MySQL)Spring3+Mybatis3使用注解式事务声明(@Transactional)无法回滚