Spring事务CallbackPreferringPlatformTransactionManager

  • Post author:
  • Post category:其他


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 版权协议,转载请附上原文出处链接和本声明。