使用AMQP在没有MessageStore的Spring Integration Aggregator中的消息持久性?

时间:2017-11-21 15:00:38

标签: spring-integration

我想知道当我使用聚合器(我没有MessageStore支持)时,通过利用聚合器之前和之后的AMQP(RabbitMQ)队列的持久性,我是否可以在Spring Integration设置中保持持久性。 我想这会使用ack:聚合器在收集所有部分并发出结果消息之前不会收到消息。 另外我想知道这是不是一个好主意:))

我是新工作的队列,我正在尝试使用模式。

我的业务逻辑如下:

  • 我在一个队列上收到消息。
  • 每条消息必须产生两个不相关的Web服务调用(最好是并行)。
  • 这两个电话的结果必须与原始信息中的详细信息结合使用。
  • 然后必须将该组合作为队列中的新消息发送出去。

消息很重要,所以不能丢失。

我/我希望只使用一个“持久的”#39;系统,即RabbitMQ,也不必添加数据库。

我已尝试将问题保持具体,但我们非常感谢有关如何处理此问题的任何其他建议:)

1 个答案:

答案 0 :(得分:1)

你想做什么回忆起我Scatter-Gather EI Pattern

因此,您从AMQP收到一条消息,将其发送到ScatterGather端点并等待汇总回复。这足以坚持默认确认。

是的,scatterChannel可以PublishSubscribeChannel与执行者并行调用Web服务。无论如何,收集程序将根据发布策略等待回复,并阻止原始的AMQP监听器不要过早地收到消息。