gpt4 book ai didi

java - 接口(interface) javax.transaction.Transaction 的实现是否需要线程安全?

转载 作者:行者123 更新时间:2023-12-04 08:57:52 26 4
gpt4 key购买 nike

做符合 javax.transaction.Transaction 的实现需要线程安全吗?
这个实现是否有望处理来自不同线程的并发请求?
举个例子:

// Thread A
transaction.commit();

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

最佳答案

JTA说,那:
§3.3 - 交易接口(interface)

The Transaction.commit and Transaction.rollback methods allow the target object to be comitted or rolled back. The calling thread is not required to have the same transaction associated with the thread. If the calling thread is not allowed to commit the transaction, the transaction manager throws an exception.


规范没有说明这一点。因此,预先不需要供应商必须提供 javax.transaction.Transaction 的线程安全实现。 .

关于java - 接口(interface) javax.transaction.Transaction 的实现是否需要线程安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63717255/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com