【发布时间】:2019-04-06 03:49:22
【问题描述】:
我想在我的 Spring Boot 微服务中使用 SAGA 模式。例如在客户订单中,当订单创建时,会产生像OrderCreatedEvent 这样的事件,然后在客户微服务中,OrderCreatedEvent 上的侦听器更新客户信用并产生CreditUpdateEvent 和...。
我使用会话事务JmsTemplate 进行事件生成。在JmsTemplate的javadoc中说JMS事务在主事务之后提交:
这具有与主事务(可能是本机 JDBC 事务)一起管理本地 JMS 事务的效果,JMS 事务在主事务之后提交。
现在我的问题是如何处理以下情况:
已提交的主要事务(例如已提交的订单)并且系统无法提交 JMS 事务(出于任何原因)。
我想使用 SAGA 而不是两阶段提交,但我认为 SAGA 将问题从订单和客户服务转移到订单服务和 JMS 提供商。
【问题讨论】:
标签: java spring-boot jms microservices saga