我有两个 EJB 应用程序:A(部署在 Glassfish 2.1 上)和 B(部署在 GlassFish 3.1 上)。两个应用程序都可以通过 Web 服务进行通信。
我在应用程序 A 中启动事务并通过 Web 服务与应用程序 B 进行通信,但在应用程序 B 上出现异常。
我希望在应用程序 A 和 B 中进行单一事务管理。
最佳答案
这是我认为的生命周期。
- 在 A 上开始交易。
- 向 B 发送请求。
- B 抛出异常。
- 将消息发送回 A 但失败,因为 B 可以进行通信。
- 回滚 A 上的事务。
关于java - Java EE 中的事务管理(两阶段提交协议(protocol)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8847922/