【问题标题】:Java-ee remote calling ejb transaction from pojo从 pojo 远程调用 ejb 事务的 Java-ee
【发布时间】:2017-12-28 01:25:07
【问题描述】:

我在通过“上下文查找”从远程客户端调用 EJB(持久实体)然后执行不同的事务时遇到问题。每次我调用 statefull 容器管理的 EJB 时,它都会提交并且不会在出现错误时回滚。我的伪代码:

调用远程 EJB 持久化方法:

transactionController.persist(getCurrentEntity());

transactionController 是通过“上下文查找”设置的。

还有我的 EJB:

@Remote

    @Stateful(name = "TransactionController")
    public class TransactionController {
        @PersistenceContext
        EntityManager entityManager;

        public void persist(Object object){
            entityManager.persist(object);
        }

从 pojo(远程)调用容器时是否可以管理容器内的事务?我该如何解决这个问题?

【问题讨论】:

    标签: java jpa jakarta-ee transactions


    【解决方案1】:

    如果您正在调用 ejb 并想要管理事务(例如异常回滚)。您可以进行显式事务管理。这涉及显式标记事务边界。 Explicit transaction management

    【讨论】:

    • 是的,支持Bean托管事务,有没有容器托管事务的解决方案(没有明确设置“begin”和“commit”)
    • 开始和提交应该在你的远程客户端中完成,如果它不是一个ejb。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多