Java 如何使用spring和J2EE(EJB)CMT管理分布式事务
我有一个整合两个独立系统的情况。一种是使用J2EE、ejb,另一种是基于Spring的。现在的问题是,两个系统都可以调用彼此的方法,我也想管理事务。我不知道如何协调这两个应用程序事务管理器,因为它们都使用不同的事务管理器(Spring和EJB)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
任何人都知道如何做到这一点吗?首先,两个应用程序都应该在数据源级别使用扩展事务(XA事务)(以及其他资源,如消息队列、JCA适配器或应用程序中使用的任何资源)
方法调用应该通过远程EJB调用或使用WS-AtomicTransaction处理事务边界的web服务来完成。如果您不想更改体系结构以添加远程EJB,那么最好的办法是将web服务与WS-AT一起使用,在幕后使用XA事务。这是有道理的,我还使用web服务从基于spring的应用程序调用方法。但我不确定如何在此处添加对WS-AT的支持,因为它使用Restlet。我没有使用Restlet库,但据我所知,它不支持插入全局事务协调器,但再一次,我可能错了。。。