我正在尝试将Spring事务管理器从JtaTransactionManager升级到HibernateTransactionManager.在JTA TransactionManager中,我们有一种提供当前交易状态的方法.根据状态,我们正在执行一些操作.实现如下:
private void checkTransactionStatus(TransactionStatus status){
if(status instanceof DefaultTransactionStatus) {
DefaultTransactionStatus transactionStatus = (DefaultTransactionStatus) status;
if(transactionStatus.getTransaction() instanceof JtaTransactionObject){
JtaTransactionObject txObject = (JtaTransactionObject) transactionStatus.getTransaction();
int jtaStatus;
try {
jtaStatus = txObject.getUserTransaction().getStatus();
if(jtaStatus==Status.STATUS_MARKED_ROLLBACK){
// logic heare
}
} catch (SystemException e) {}
}
}
}
我想用HibernateTransactionManager特定的代码替换此方法.我分析发现,HibernateTransactionManager使用HibernateTran