ActiveMQ - 一次控制消耗的消息数量。

时间:2014-09-23 15:55:11

标签: java apache jms activemq

对我的问题的措辞表示道歉。

我正在使用Tomee。

我有一个ActiveMQ队列设置并从Producer接收消息(Tomee提供的示例)

它存在于MySQL中(如果重要的话)

我的情景就是这个......

  • 消息进入队列

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

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

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

OR

这是否需要在ActiveMQ之外进行线程池化?

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

感谢任何帮助。

特雷弗

1 个答案:

答案 0 :(得分:1)

您要做的事情听起来像是可以使用Apache Camel轻松解决的问题。看看competing consumers EIP的Camel文档,听起来非常适合您的情况。