弹簧集成聚合器中的消息持久性通过使用AMQP而无需Messagestore



我想知道,当我使用聚合器时,我是否可以通过利用AMQP(Rabbitmq)列表的持续性来持续在春季集成设置中持久性。聚合器之前和之后。我想这将使用ACK的:聚合器不会在收集所有零件并发送结果消息之前ACK一条消息。此外,我想知道这是否是一个好主意:)

我正在与队列的合作,并试图使使用模式有一种良好的感觉。

我的业务逻辑如下:

  • 我在一个队列上收到一条消息。
  • 每个消息必须导致两个无关的Web服务调用(最好是并行)。
  • 这两个呼叫的结果必须与原始消息中的详细信息结合在一起。
  • 然后必须将组合作为队列上的新消息发送。

消息很重要,因此不得丢失。

i是/希望只使用一个"持久"系统,即兔子,也不必添加数据库。

我试图将问题保持在特定方面,但是对如何处理此问题的任何其他建议都非常感谢:)

您想做的事情让我回想起散点机ei模式。

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

对,scatterChannel可以是 PublishSubscribeChannel,而执行人可以并行调用Web服务。无论如何,收集者过程将根据发布策略等待回复,并将阻止原始AMQP侦听器过早地添加消息。

最新更新