Spring 的aop 事务不回滚

hackcoder 2014-05-30 07:16:44
声明式事务
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="get*" read-only="true" propagation="REQUIRED" /><!--之前是NOT_SUPPORT -->
<tx:method name="find*" read-only="true" propagation="REQUIRED" /><!--之前是NOT_SUPPORT -->
<tx:method name="save*" propagation="REQUIRED" rollback-for="java.lang.ArithmeticException"/>
<tx:method name="update*" propagation="REQUIRED" />
<tx:method name="remove*" propagation="REQUIRED" />
<tx:method name="add*" propagation="REQUIRED" />
<!--默认其他方法都是REQUIRED -->
<tx:method name="*" />
</tx:attributes>
</tx:advice>

<aop:config>
<aop:pointcut id="txPoint" expression="execution(* com.xeon.mis.dao.*.*(..))" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="txPoint" />
</aop:config>

public void saveDemo() {
Demo a = new Demo();
a.setName("a");
Demo b = new Demo();
b.setName("b");
Session session = HibernateUtils.getSession();
session.save(a);
if (1 == 1)
throw new RuntimeException("运行时异常");
session.save(b);
HibernateUtils.closeSession();
}
但是还是回滚失败
...全文
93 回复 打赏 收藏 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

5,657

社区成员

发帖
与我相关
我的任务
社区描述
Web开发应用服务器相关讨论专区
社区管理员
  • 应用服务器社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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