跨入站和出站队列使用JMS事务

时间:2014-09-15 16:22:56

标签: spring-integration

我正在使用Spring Integration从队列中读取消息并将其写入多个队列。如果任何失败,我希望将消息写入失败队列,并且没有任何输出队列应该收到消息。为此,我该如何设置交易?我在入站和jms出站通道适配器上使用消息驱动的通道适配器。我正在使用拆分器来创建提供给jms出站通道适配器的多个消息(基于输出队列的数量)。 该流程将作为独立的Java应用程序运行。

感谢。

1 个答案:

答案 0 :(得分:0)

你可以使用JMS来实现这个目标:

  1. 您应该为入站redelivery配置queue政策至0
  2. 并为此提供DLQ
  3. 在TX回滚的情况下,您的消息将不会再次传送给您的听众,只会转到DLQ

    查看JMS规范中的更多信息。

    <强>更新

    根据Gary的建议解决方案:https://gist.github.com/artembilan/e7aff2afbf4ff4308159