【发布时间】:2011-10-18 19:44:27
【问题描述】:
在 Spring 声明式事务管理器中: 我的配置 tx:method:
<tx:method name="handle*" propagation="REQUIRED" no-rollback-for="java.lang.RuntimeException" rollback-for="java.lang.Exception" read-only="false"/>
春天
rollback-for 文档是:将触发回滚的异常;逗号分隔。例如,'com.foo.MyBusinessException,ServletException'
no-rollback-for 文档是:不会触发回滚的异常;逗号分隔。例如,'com.foo.MyBusinessException,ServletException'
我希望事务管理器在捕获 java.lang.Exception 时回滚,但 java.lang.RuntimeException 将导致提交。
此配置是否符合我的要求? tx:method of tx:advice中no-rollback-for和rollback-for是什么关系?
【问题讨论】:
-
我已经回答了你的问题,但这真的是你想要做的:提交意外的(运行时)异常并在抛出声明的异常时回滚?
标签: spring transactions aop jta