我们有一个典型的情况。组件集成的春季交易策略
两个Java服务组件正在并行开发。
可以说A和B.A是从队列中拾取消息并执行一些业务规则处理的JMS应用程序。 A使用B作为数据库持久性。 B执行所有数据库操作。
所以,这意味着B的方法总是从A中调用。 A使用WebsphereUowTransactionManager
(JtaTransactionManager的服务器特定子类)开发,而B使用JpaTransactionManager。 A使用程序化事务模型(是的,我们需要它),而B使用声明性模型(@Transaction注释)。两者都是使用独立的bean配置开发的。
现在,在集成中,我们正面临事务异常。我认为这是由于A和B的交易模型之间的不匹配造成的。理论上,B将使用A的程序化交易背景。这使得B的陈述模型变得冗余。
所以,问题是,什么应该是正确的组合交易策略来整合A和B?
我的理解 - A使用编程事务,所以B也必须使用编程模型。
这两个事务管理器之间没有适配器吗? – belgther
什么样的适配器?你能解释一下吗? –