且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何判断Java EE 6拦截器中的事务是否处于活动状态?

更新时间:2023-12-03 17:32:10

你可以注入TransactionSynchronizationRegistry 并使用 getTransactionStatus 获取当前上下文中事务的状态,它返回 int ,这是Status 课程,在您的情况下,您正在寻找 STATUS_NO_TRANSACTION

You can inject a TransactionSynchronizationRegistry and use getTransactionStatus to get the status of the transaction in the current context, it returns an int which is a contant in the Status class, in your case you are looking for STATUS_NO_TRANSACTION

注入:

@Resource
TransactionSynchronizationRegistry tsr;

检查交易状态:

if (Status.STATUS_NO_TRANSACTION == tsr.getTransactionStatus()) {
   // no transaction
}