​

事务捕获异常才会进行回滚。如果自己捕获异常,在try catch块里事务需要手动回滚。

分布式事务lcn手动回滚:



不生效,或者无法全部回滚:
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
mqTxManagerService.closeTransactionGroup(TxTransactionLocal.current().getGroupId(),0);

手动回滚其实只需要lcn手动回滚即可,调用接口的方法进行回滚:
mqTxManagerService.cleanNotifyTransaction(TxTransactionLocal.current().getGroupId(),TxTransactionLocal.current().getKid());


 

经测试异常都会回滚。