接口javax.transaction.transaction的实现需要线程安全吗?

接口javax.transaction.transaction的实现需要线程安全吗?,java,transactions,infinispan-10,Java,Transactions,Infinispan 10,javax.transaction.transaction的一致性实现是否需要线程安全 是否期望此实现处理来自不同线程的并发请求 例如: // Thread A transaction.commit(); // Thread B, while that commit is still running transaction.setRollbackOnly(); 我问这个问题是因为我可以看到Infinispan以这种方式与事务管理器交互,从而导致死锁。我想了解这是否是Infinispan或事务

javax.transaction.transaction
的一致性实现是否需要线程安全

是否期望此实现处理来自不同线程的并发请求

例如:

// Thread A
transaction.commit();

// Thread B, while that commit is still running
transaction.setRollbackOnly();
我问这个问题是因为我可以看到Infinispan以这种方式与事务管理器交互,从而导致死锁。我想了解这是否是Infinispan或事务管理器中的错误。

表示:

§3.3-交易接口

Transaction.commit
Transaction.rollback
方法允许提交或回滚目标对象。调用线程不需要与该线程关联相同的事务。如果不允许调用线程提交事务,事务管理器将抛出异常

规范没有更多地说明这一点;因此,在se之前,并不要求供应商必须提供
javax.transaction.transaction
的线程安全实现