我有两个弹簧应用程序A和B,每个都在一个单独的EAR文件中。现在我想从A到B打电话,反之亦然,甚至可能是A - > B - >一个或多个。
电话必须交易安全。
推荐的方法是什么?
答案 0 :(得分:0)
保持此安全的唯一方法是使用由容器管理的JTA事务。 Spring通过其JtaTransactionManager
支持这些,因此您可以像在Spring中的任何其他事务一样编写事务逻辑。所有数据源必须由容器管理,而不是由应用程序管理。
答案 1 :(得分:0)
进行同步事务的唯一方法 - 使用两个面提交 - 从一个EAR调用到另一个EAR是使用远程EJB:(
如果在您的情况下我可能会使用JMS进行异步调用,则消息的发送将与您的事务相结合,但接收方将无法回滚您的事务,因为它可能与远程EJB调用。