Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.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 如何使用spring和J2EE(EJB)CMT管理分布式事务_Java_Spring_Jakarta Ee_Transactions_Ejb - Fatal编程技术网

Java 如何使用spring和J2EE(EJB)CMT管理分布式事务

Java 如何使用spring和J2EE(EJB)CMT管理分布式事务,java,spring,jakarta-ee,transactions,ejb,Java,Spring,Jakarta Ee,Transactions,Ejb,我有一个整合两个独立系统的情况。一种是使用J2EE、ejb,另一种是基于Spring的。现在的问题是,两个系统都可以调用彼此的方法,我也想管理事务。我不知道如何协调这两个应用程序事务管理器,因为它们都使用不同的事务管理器(Spring和EJB) 任何人都知道如何做到这一点吗?首先,两个应用程序都应该在数据源级别使用扩展事务(XA事务)(以及其他资源,如消息队列、JCA适配器或应用程序中使用的任何资源) 方法调用应该通过远程EJB调用或使用WS-AtomicTransaction处理事务边界的we

我有一个整合两个独立系统的情况。一种是使用J2EE、ejb,另一种是基于Spring的。现在的问题是,两个系统都可以调用彼此的方法,我也想管理事务。我不知道如何协调这两个应用程序事务管理器,因为它们都使用不同的事务管理器(Spring和EJB)


任何人都知道如何做到这一点吗?

首先,两个应用程序都应该在数据源级别使用扩展事务(XA事务)(以及其他资源,如消息队列、JCA适配器或应用程序中使用的任何资源)


方法调用应该通过远程EJB调用或使用WS-AtomicTransaction处理事务边界的web服务来完成。如果您不想更改体系结构以添加远程EJB,那么最好的办法是将web服务与WS-AT一起使用,在幕后使用XA事务。

这是有道理的,我还使用web服务从基于spring的应用程序调用方法。但我不确定如何在此处添加对WS-AT的支持,因为它使用Restlet。我没有使用Restlet库,但据我所知,它不支持插入全局事务协调器,但再一次,我可能错了。。。