spring配置了事务,抛出异常不回滚

2025-04-28 07:59:58
推荐回答(1个)
回答1:

如果你在createXML方法最后catch了异常,并且没有往外抛,那么数据不会滚的。
你可以这样尝试一下把rollback-for属性去掉,并且咋createXML中不做任何异常捕捉,
这样肯定可以回滚。因为
spring默认可以回滚 在抛出运行时和unchecked exceptions时才标识事务回滚,
也就是说,当抛出一个 RuntimeException 或其子类例的实例时。(Errors 也一样 - 默认地 - 标识事务回滚。)从事务方法中抛出的Checked exceptions将 不 被标识进行事务回滚