如何以批处理方式从重新交付队列中读取?

我正在使用activeMQ classic作为队列管理器。我的消息使用者(使用Spring的@JmsListener)写入MongoDB。如果MongoDB不可用,则它将消息发送到另一个队列,将其称为重新交付队列。

因此,想象一下mongoDB关闭多个小时后,它终于启动了。现在从此重新交付队列中读取消息的最佳方法是什么?

我在考虑是否有可能通过创建每天运行一次的批处理作业来做到这一点?如果是这样,可以使用哪些选项来创建类似的工作,或者还有其他更好的选项可用。

a793358269 回答:如何以批处理方式从重新交付队列中读取?

JMS没有“批处理”模式。 JMS使用者一次只能接收一条消息。通常,提高消息吞吐量以处理大量消息的最佳方法是增加使用者的数量。对于使用concurrency设置的Spring JmsListener,这应该相当简单。

当然,您可以使用cron之类的东西来安排作业来处理这些消息,或者也可以使用Quartz Job Scheduler之类的东西。

实际上不可能为您提供“最佳”方式来处理Stack Overflow的情况。太多未知变量了。

本文链接:https://www.f2er.com/3126390.html

大家都在问