CallbackPreferringPlatformTransactionManager
if (txInfo.transactionAttribute != null && txInfo.transactionAttribute.rollbackOn(ex)) {}
判断属性的默认值不为nul l且判断当前的异常是RuntimeException还是Error,会返回1,其他异常返回0
public boolean rollbackOn(Throwable ex) { return ex instanceof RuntimeException || ex instanceof Error; }
也就是RuntimeException还是Error异常会进行回滚
txInfo.getTransactionManager().rollback(txInfo.getTransactionStatus());
当前的异常不是RuntimeException和Error的会走这个分支
也就是不会回滚,会进行commit
版权声明:本文为W_317原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。