gpt4 book ai didi

java - Apache ActiveMQ 在多个消费者上的异常行为

转载 作者:行者123 更新时间:2023-12-01 20:02:22 30 4
gpt4 key购买 nike

我正在使用 Jboss-fuse-6.3 和外部 Apache-activemq-5.15.2。我在一个队列上绑定(bind)了 50 个消费者,在 Active MQ 门户的“Activity 消费者”页面上,我注意到所有 50 个消费者都已绑定(bind),但队列上的消息分布并不相同。

附有屏幕截图。在 session ID“1”上,排队消息数约为 1010 条,但在其他消费者 session 上,排队消息只有 10 条。

我正在对来自 Apache Camel Route 的消息进行排队。下面是我的蓝图 xml(我做错了什么吗)

<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"/>

enter image description here

最佳答案

这似乎是 JMS 客户端的正常预取行为。如果您希望竞争消费者公平分派(dispatch),那么您需要降低预取级别,因为第一个连接的消费者通常会收到更多数量的消息分派(dispatch)给它,因为队列消费者的默认预取为 1000。

了解有关 ActiveMQ 消费者预取的更多信息 here .

关于java - Apache ActiveMQ 在多个消费者上的异常行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47885872/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com