私はJboss-fuse-6.3と外部Apache-activemq-5.15.2を使用しています。 私はキューに50人のコンシューマをバインドしており、アクティブなコンシューマのページにあるActive MQポータルでは、50人のコンシューマがすべてバインドされているが、キュー上のメッセージの配信は同じではないことに気付きました。複数のコンシューマーでのApache ActiveMQの異常動作
スクリーンショットが添付されています。セッションIDが「1」の場合、キューに入れられたメッセージの数は約1010ですが、他のコンシューマセッションの場合です。キューに入れられたメッセージは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"/>
素晴らしい答え@Timは助けになりました。下のリンクも私を助けました。あなたの詳細な回答を本当にありがとうございます https://access.redhat.com/documentation/en-US/Fuse_ESB_Enterprise/7.1/html/ActiveMQ_Tuning_Guide/files/GenTuning-Consumer-Prefetch.html –