spring声明性事务常见问题分析(含续)(二)

2014-11-24 03:19:29 · 作者: · 浏览: 1

配置完成一定要实际测试一下,我配置过expression="execution(* cn.ceopen.bss..*.service.*(..))" 少了一个点,导致事务不起作用。

导致项目很长一段时间事务方面没经过严格测试。

2.

Spring的AOP事务管理默认是针对unchecked exception回滚。

也就是默认对RuntimeException()异常极其子类进行事务回滚。

在项目中定义公共的RuntimeException异常,避免每个开发人员随意抛出异常。

不然的话没新定义一个异常,就要修改tx:method rollback-for 太麻烦了。

总结:

1.对事务配置进行检查,对复杂嵌套的事务逻辑必要的时候debug到spring源码中确认。

2.定义统一异常类型

3.同一个类调用自身方法,子方法的事务配置不起作用

作者: zyskm