ActiveMq'队列优先消费者'机制无法正常工作

时间:2016-05-03 10:30:32

标签: jms activemq message-queue producer-consumer consumer

我们在我们的应用程序中使用ActiveMq。我们需要在队列上实现优先级消费者机制。我们有多个消费者,我们希望将它们视为主/从。因此,主消费者将具有更高的优先级并且将消耗所有消息,并且一旦主服务器关闭,则消费者(具有更高优先级)将消耗来自队列的所有请求。

为实现此方案,我们遇到了优先级队列的机制。所以,我们通过这种方式初始化队列:

javax.jms.Queue queue = queueSession.createQueue("myQueue" + "?consumer.priority=" + 127);

并为剩余的从属节点分配了较少的优先级。

但是这种机制预计不会正常工作,有时它可以正常工作,我们获得具有最高优先级的消费者的所有请求,但有时优先级较低的消费者也开始消费消息,而具有最高优先级的消费者工作正常。

我们也尝试使用consumer.exclusive=true选项,没有运气。

注意:我们现在在同一台计算机上本地运行所有组件(ActiveMQ,生产者和消费者应用程序),因此不会涉及网络延迟。我们正在使用默认预取策略运行消费者。

是否有其他方法可以使用activeMq实现此方案,或者我们是否缺少任何配置。

0 个答案:

没有答案