Java Apache ActiveMQ在多个使用者上的异常行为

Java Apache ActiveMQ在多个使用者上的异常行为,java,jboss,apache-camel,activemq,Java,Jboss,Apache Camel,Activemq,我正在使用Jboss-fuse-6.3和外部Apache-activemq-5.15.2。 我在一个队列上绑定了50个使用者,在“活动使用者”页面中的活动MQ门户上,我注意到所有50个使用者都是绑定的,但队列上的消息分布不同 附加屏幕截图。在会话id“1”上,排队消息数约为1010,但在其他使用者会话上,排队消息数仅为10 Im正在排队来自Apache Camel路由的消息。下面是我的蓝图xml(我做错什么了吗) 这似乎是JMS客户端的正常预取行为。如果您希望竞争消费者具有公平调度,那么您需

我正在使用Jboss-fuse-6.3和外部Apache-activemq-5.15.2。 我在一个队列上绑定了50个使用者,在“活动使用者”页面中的活动MQ门户上,我注意到所有50个使用者都是绑定的,但队列上的消息分布不同

附加屏幕截图。在会话id“1”上,排队消息数约为1010,但在其他使用者会话上,排队消息数仅为10

Im正在排队来自Apache Camel路由的消息。下面是我的蓝图xml(我做错什么了吗)



这似乎是JMS客户端的正常预取行为。如果您希望竞争消费者具有公平调度,那么您需要降低预取级别,因为第一个连接的消费者通常会获得更多发送到它的消息,因为队列消费者的默认预取是1000


阅读有关ActiveMQ使用者预取的更多信息。

这似乎是JMS客户端的正常预取行为。如果您希望竞争消费者具有公平调度,那么您需要降低预取级别,因为第一个连接的消费者通常会获得更多发送到它的消息,因为队列消费者的默认预取是1000


阅读更多有关ActiveMQ消费者预回迁的信息。

回答得好@Tim帮助了很多。下面的链接也帮助了我。非常感谢您详细的回答伟大的回答@Tim帮了很多忙。下面的链接也帮助了我。非常感谢你详细的回答
<bean class="org.apache.activemq.spring.ActiveMQConnectionFactory" id="connectionFactory">
    <property name="brokerURL" value="tcp://localhost:61616"/>
    <property name="userName" value="admin"/>
    <property name="password" value="admin"/>
    <property name="trustAllPackages" value="true"/>
</bean>
<bean class="org.apache.camel.component.jms.JmsConfiguration" id="jmsConfig">
    <property name="connectionFactory" ref="connectionFactory"/>
</bean>
<bean class="org.apache.activemq.camel.component.ActiveMQComponent" id="activemq">
    <property name="configuration" ref="jmsConfig"/>
</bean>

<bean class="org.apache.activemq.spring.ActiveMQConnectionFactory" id="connectionFactory">
    <property name="brokerURL" value="tcp://localhost:61616"/>
    <property name="userName" value="admin"/>
    <property name="password" value="admin"/>
    <property name="trustAllPackages" value="true"/>
</bean>
<bean class="org.apache.camel.component.jms.JmsConfiguration" id="jmsConfig">
    <property name="connectionFactory" ref="connectionFactory"/>
</bean>
<bean class="org.apache.activemq.camel.component.ActiveMQComponent" id="activemq">
    <property name="configuration" ref="jmsConfig"/>
</bean>
<!-- ENQUEUEING MESSAGES -->
<to pattern="InOnly" uri="activemq:queue:MyQueue"/>

<!-- DEQUEUEING MESSAGES -->
<fromuri="activemq:queue:MyQueue?concurrentConsumers=50"/>