分布式事务tx-lcn下lcn模式时spring手动事务回滚失效的解决方案
本文作者:FUNKYE(陈健斌),杭州某互联网公司主程。
起因
先上错误demo
1 |
|
可以运行类似代码,会发现这时候并没有事务回滚,上面的save对象会被插入到数据库.
解决方案
解决方法有2种:
1.改用 @TccTransaction来替换lcn模式
2.使用DTXUserControls.rollbackCurrentGroup();来替换TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();