使用Spring管理,在try-catch后不会滚解决
来源:互联网 发布:dnf决战人工智能62 编辑:程序博客网 时间:2024/05/19 05:01
默认spring事务只在发生未被捕获的 runtimeexcetpion时才回滚。spring aop 异常捕获原理:被拦截的方法需显式抛出异常,并不能经任何处理,这样aop代理才能捕获到方法的异常,才能进行回滚,默认情况下aop只捕获runtimeexception的异常,但可以通过配置来捕获特定的异常并回滚,换句话说在service的方法中不使用try catch 或者在catch中最后加上throw new runtimeexcetpion(),这样程序异常时才能被aop捕获进而回滚。
解决方案:在catch中加入TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();手动回滚或者抛出throw new runtimeexcetpion();异常。前者不需要在上层(controller层)做任何处理,后者需要在上层捕获这个异常。
本文来至:http://blog.csdn.net/yipanbo/article/details/46048413
0 0
- 使用Spring管理,在try-catch后不会滚解决
- Spring管理的事务:如何配置回滚及try catch情况下的回滚
- 我猜你不会使用try-catch
- spring中事物回滚与异常try catch相关
- try catch后spring 事物不显式提交
- 关于spring在service层catch异常而出现无法回滚的问题的解决
- try- catch嵌套使用解决的问题
- Spring.Net使用事务,try catch不回滚
- 在 Transact-SQL 中使用 TRY...CATCH
- 在Sql中使用Try Catch
- try catch异常后,spring的异常是否还有效
- try catch异常抛出与spring事务回滚策略相关
- try{} catch(Exception e){}异常抛出与Spring事务回滚策略
- try catch异常抛出与spring事务回滚策略相关
- 解决try-catch 在RELEASE版无法捕捉错误
- spring事务在try catch时候的执行
- 使用try和catch
- try catch throw 使用
- 基于Mongodb进行分布式数据存储
- 取得子线程的返回值(Future 搭载Callable)
- UVA10305 Ordering Tasks 拓扑排序
- 【noip 2012】开车旅行 倍增+双端链表
- [Spring]一步步实现Spring AOP(二)
- 使用Spring管理,在try-catch后不会滚解决
- python中from module import * 的一个陷阱
- OkGO一个专注于让网络请求更简单的框架
- java面向对象浅析系列3——初识奇特的内部类
- ReactNative iOS上canOpenUrl为false
- spring基于注解的方式获取.properties文件中的数据
- Android瀑布流照片墙实现,体验不规则排列的美感
- mongdb windows安装
- mybatis语句中使用choose when和otherwise