Spring中多个应用程序之间的分布式事务

时间:2015-02-19 11:13:41

标签: spring tomcat spring-integration xa

我目前在顶级弹簧3上构建了一组ERP样式的Web应用程序。该应用程序部署在tomcat 7中。

系统开发前一段时间没有一个干净定义的架构。每个应用程序有3个部分(作为子项目)。 API:定义模型和接口,IMPL:服务层和WEB。

系统的当前布局如下。

enter image description here

Financial API + IMPL包含在Inventory模块中,用于实现事务管理。我们以前尝试使用REST调用将库存和财务分成不同的Web应用程序,但遇到了事务管理问题。我们目前正在做的是@Autowiring财务Impl直接到库存服务。例如,在进行销售发票时,财务和库存操作必须在同一交易中。

现在,正如预期的那样,出现了这种方法的问题。库存系统非常重,因为需要引导重复的财务层。

我想像HornetQ或ActiveMq这样介绍一个消息传递中间件将是最好的事情,如下所示。

enter image description here

我的问题是:

  1. 如何在财务和库存之间实现集中式交易管理?
  2. 如果我使用像jBoss这样的Java EE服务器,这里有什么好处吗?
  3. 如果我将其中一个应用程序移动到另一个服务器上运行的另一个jboss实例中,我还可以进行集中式事务吗?

0 个答案:

没有答案