Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ee从pojo远程调用ejb事务_Java_Jpa_Jakarta Ee_Transactions - Fatal编程技术网

Java ee从pojo远程调用ejb事务

Java ee从pojo远程调用ejb事务,java,jpa,jakarta-ee,transactions,Java,Jpa,Jakarta Ee,Transactions,我面临一个问题,通过“上下文查找”从远程客户端调用EJB(持久化实体),然后执行不同的事务。每次调用statefull容器管理的EJB时,它都会提交,并且在出现错误时不会回滚。我的伪代码: 调用远程EJB持久化方法: transactionController.persist(getCurrentEntity()); 其中transactionController是通过“上下文查找”设置的 还有我的EJB: @Remote @Stateful(name = "TransactionC

我面临一个问题,通过“上下文查找”从远程客户端调用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(远程)调用容器时,是否可以管理容器内的事务?如何解决这个问题?

如果您正在调用ejb并希望管理事务(例如,在异常时回滚)。您可以执行显式事务管理。这涉及到明确标记事务边界

是的,支持Bean管理的事务,有没有容器管理事务的解决方案(没有显式设置“begin”和“commit”),如果不是ejb,那么begin和commit应该在远程客户端中完成。