使用Spring从一个EAR文件到另一个EAR文件调用事务安全的“正确”方法是什么?

时间:2010-12-15 08:27:11

标签: java spring transactions ear distributed-transactions

我有两个弹簧应用程序A和B,每个都在一个单独的EAR文件中。现在我想从A到B打电话,反之亦然,甚至可能是A - > B - >一个或多个。

电话必须交易安全

推荐的方法是什么?

2 个答案:

答案 0 :(得分:0)

保持此安全的唯一方法是使用由容器管理的JTA事务。 Spring通过其JtaTransactionManager支持这些,因此您可以像在Spring中的任何其他事务一样编写事务逻辑。所有数据源必须由容器管理,而不是由应用程序管理。

答案 1 :(得分:0)

进行同步事务的唯一方法 - 使用两个面提交 - 从一个EAR调用到另一个EAR是使用远程EJB:(

如果在您的情况下我可能会使用JMS进行异步调用,则消息的发送将与您的事务相结合,但接收方将无法回滚您的事务,因为它可能与远程EJB调用。