Jms 如何让所有消费者都参与处理挂起的消息?
我们在Jms 如何让所有消费者都参与处理挂起的消息?,jms,activemq,Jms,Activemq,我们在Activemq中有10条消息,我们启动了2个消费者。但只有第一个消费者消费和处理这些消息。第二个消费者未消费消息 如果我在第一个消费者处理时间内向队列发送一条消息,则第二个消费者仅消耗和处理该特定消息(我们在第一个消费者处理时间内发送了一条消息)。之后,它不会消耗挂起的消息 最后,据我所知,所有挂起的消息都是由第一个使用者处理的,而不是剩余的使用者 我想让所有消费者都参与到未决消息的处理中 谢谢。我想你看到的是导致一个消费者抢先一堆信息,从而使其他消费者挨饿。您需要降低消费者限制,这样代
Activemq
中有10条消息,我们启动了2个消费者。但只有第一个消费者消费和处理这些消息。第二个消费者未消费消息
如果我在第一个消费者处理时间内向队列
发送一条消息,则第二个消费者仅消耗和处理该特定消息(我们在第一个消费者处理时间内发送了一条消息)。之后,它不会消耗挂起的消息
最后,据我所知,所有挂起的消息都是由第一个使用者处理的,而不是剩余的使用者
我想让所有消费者都参与到未决消息的处理中
谢谢。我想你看到的是导致一个消费者抢先一堆信息,从而使其他消费者挨饿。您需要降低消费者限制,这样代理就不会急于向第一个连接的消费者发送消息,并允许其他消费者联机以帮助平衡负载
在您的情况下,预取限制为1将允许所有消费者加入并获得一些工作 您的建议是正确的。设置
预取值=1
后,工作正常。我提到likestringurl=”tcp://localhost:61617?jms.prefetchPolicy.queuePrefetch=1“
。这是正确的方法吗。