问题:
测试atomikos多数据源事务回滚的时候,使用 throw new Exception("xxxx") 来模拟系统异常,然后事务一直没没有回滚。
原因:
之后搞了老半天才发现使用 throw new Exception("xxxx") 是不会回滚的,
但是可以使用 throw new RuntimeException("xxxxxxxxxxxx"); 来模拟系统异常,这样atomikos多数据源事务才会发生回滚!
或者写一些无法正常执行的代码来模拟系统异常,如:String a = null; a.toString();