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