我有一个 @Stateless
EJB使用容器管理事务。有没有办法访问 javax.transaction.UserTransaction
的“状态”? ?即调用UserTransaction.getStatus()
在bean方法里面?
我知道访问 UserTransaction
在容器管理的 bean 中被禁止,但我想知道,有没有其他方法可以访问 getStatus()
方法?
最佳答案
如果您只需要知道事务是否标记为回滚,则使用 EJBContext.getRollbackOnly。否则,在 JTA 1.1 中,您可以使用 TransactionSynchronizationRegistry:
TransactionSynchronizationRegistry tsr = (TransactionSynchronizationRegistry)
new InitialContext().lookup("java:comp/TransactionSynchronizationRegistry");
int status = tsr.getTransactionStatus()
关于jakarta-ee - 访问容器管理的 bean 中的事务状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6240897/