【问题标题】:ActiveMQ - Controlling how many messages are consumed at a time.ActiveMQ - 控制一次消耗多少消息。
【发布时间】:2014-11-17 22:09:19
【问题描述】:

为我的问题的措辞道歉。

我正在使用 Tomee。

我设置了一个 ActiveMQ 队列并从生产者接收消息(Tomee 提供的示例)

它保存在 MySQL 中(以防万一)

我的场景是这样的……

  • 一条消息进入队列

  • 消费者/监视器读取消息并启动线程以运行可能需要一些时间才能完成的进程(备份、复制、处理等)。

任何时候我都可以处理 5 条消息或 500 多条消息(以及介于两者之间的任何消息)

理想情况下,我想要一些 Java/Apache 库,该库旨在监视队列并读取 10 条消息(例如),然后启动线程,然后等待一个线程完成,然后再开始。出于所有意图和目的,我正在尝试创建一个“线程池”或“工作队列”,以防止在任何时候启动太多进程。

这需要在 ActiveMQ 之外进行线程池吗?

我是 JMS 的新手,开始了解它,但还有很长的路要走。

感谢任何帮助。

特雷弗

【问题讨论】:

    标签: java apache jms activemq


    【解决方案1】:

    您想要做的事情听起来很容易使用Apache Camel 解决。查看 competing consumers EIP 的 Camel 文档,这听起来非常适合您的情况。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-26
      • 2017-05-14
      • 1970-01-01
      • 2013-05-30
      • 2021-10-01
      • 1970-01-01
      • 2013-08-09
      • 2011-10-30
      相关资源
      最近更新 更多