簡體   English   中英

在多個使用者上Apache ActiveMQ的異常行為

[英]Abnormal Behavior of Apache ActiveMQ on Multiple Consumer

我正在使用Jboss-fuse-6.3和外部Apache-activemq-5.15.2。 我已經在一個隊列上綁定了50個使用者,並且在“活動使用者”頁面的Active MQ門戶上,我注意到所有50個使用者都是綁定的,但是隊列上的消息分發是不一樣的。

屏幕快照已附加。 在會話標識“ 1”上,排隊的消息數約為1010,但在其他使用者會話上,排隊的消息數僅為10。

我正在排隊等待來自Apache Camel Route的消息。 以下是我的Blueprint 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"/>

在此處輸入圖片說明

對於JMS客戶端,這似乎是正常的預取行為。 如果您希望公平分派競爭的使用者,則您需要降低預取級別,因為連接的第一個使用者通常會收到較多的消息分派給它,因為隊列使用者的默認預取為1000。

在此處閱讀有關ActiveMQ消費者預取的更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM