【发布时间】:2020-12-08 12:00:31
【问题描述】:
我正在尝试弄清楚如何将消息驱动通道适配器与并发消费者一起使用并成为 能够承受系统故障而不会丢失任何消息。 在我当前的实现中,我使用 Spring Integration 并从 ArtemisMQ 服务器读取数据,并且我需要能够回滚任何未能到达流程末尾的消息。
我确实使用以下实现来接收消息
<int-jms:message-driven-channel-adapter
connection-factory="connectionFactory"
destination="myQueue"
message-converter="messageConverter"
channel="inputChannel"
concurrent-consumers="5"
error-channel="errorChannel"
acknowledge="transacted"
/>
但由于现在涉及多个并发消费者,因此现在重新定义了事务边界,如果发生故障,则消息将丢失。
我的主要问题是我需要多个消费者提供消息,同时我不想在崩溃事件期间丢失消息。有没有办法扩展/传播事务边界或至少手动确认每条消息 在我的流程结束时?
【问题讨论】: