spring事务回滚问题

我舞 2013-08-16 09:46:00
问题:
Spring的事务管理默认情况下是,抛出运行期异常时,事务是进行回滚的,但是我在异常抛出的service方法里把异常catch住,然后再去测试,就发现事务不进行回滚了,哪位大牛帮忙解答一下呀,呵呵,谢谢。

代码截图如下:

业务代码:


测试代码:
...全文
106 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
无聊找乐 2013-08-17
  • 打赏
  • 举报
回复
你都把异常拦住了,spring怎么知道发生了异常需要回滚?
小丑哥_V5 2013-08-17
  • 打赏
  • 举报
回复
引用 3 楼 AA5279AA 的回复:
[quote=引用 2 楼 u011716688 的回复:] [quote=引用 1 楼 wangyaqi123 的回复:] spring事务管理是默认的吗? 我记得得用AOP
汗我描述的不是很清楚,我的意思是,使用注解的方式@Transactionnal时,默认是:抛出运行期异常时,事务是进行回滚的,但是我在异常抛出的service方法里把异常catch住,然后再去测试,就发现事务不进行回滚了。[/quote] 事务的回滚一般是异常上抛,上抛到spring配置的监听异常的那一级捕获到了异常然后spring进行回滚处理。 你这里catch了异常,那么异常还会上抛么,你可以做个实验试试,看看上层是否会捕获到异常。[/quote] 你都已经把异常给解决了,以上没有往上抛,spring接收不到这个异常他还try毛啊
失落夏天 2013-08-17
  • 打赏
  • 举报
回复
引用 2 楼 u011716688 的回复:
[quote=引用 1 楼 wangyaqi123 的回复:] spring事务管理是默认的吗? 我记得得用AOP
汗我描述的不是很清楚,我的意思是,使用注解的方式@Transactionnal时,默认是:抛出运行期异常时,事务是进行回滚的,但是我在异常抛出的service方法里把异常catch住,然后再去测试,就发现事务不进行回滚了。[/quote] 事务的回滚一般是异常上抛,上抛到spring配置的监听异常的那一级捕获到了异常然后spring进行回滚处理。 你这里catch了异常,那么异常还会上抛么,你可以做个实验试试,看看上层是否会捕获到异常。
我舞 2013-08-17
  • 打赏
  • 举报
回复
引用 1 楼 wangyaqi123 的回复:
spring事务管理是默认的吗? 我记得得用AOP
汗我描述的不是很清楚,我的意思是,使用注解的方式@Transactionnal时,默认是:抛出运行期异常时,事务是进行回滚的,但是我在异常抛出的service方法里把异常catch住,然后再去测试,就发现事务不进行回滚了。
我舞 2013-08-17
  • 打赏
  • 举报
回复
引用 3 楼 AA5279AA 的回复:
[quote=引用 2 楼 u011716688 的回复:] [quote=引用 1 楼 wangyaqi123 的回复:] spring事务管理是默认的吗? 我记得得用AOP
汗我描述的不是很清楚,我的意思是,使用注解的方式@Transactionnal时,默认是:抛出运行期异常时,事务是进行回滚的,但是我在异常抛出的service方法里把异常catch住,然后再去测试,就发现事务不进行回滚了。[/quote] 事务的回滚一般是异常上抛,上抛到spring配置的监听异常的那一级捕获到了异常然后spring进行回滚处理。 你这里catch了异常,那么异常还会上抛么,你可以做个实验试试,看看上层是否会捕获到异常。[/quote] 多谢。。。
无间虚者 2013-08-16
  • 打赏
  • 举报
回复
spring事务管理是默认的吗? 我记得得用AOP

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧