1 か月以来、activemq と spring で問題が再発しています。しばらくすると (1 日から 1 週間の間) コンシューマーがなくなり、新しいコンシューマーが開始されなくなり、キューがいっぱいになり始めます。
このセットアップは 1 年以上実行されましたが、問題はなく、関連する変更は何も見られませんでした。
私たちが使用している別のキューも同じ動作を示し始めましたが、頻度は低くなりました。
activemq webconsole から (多くの保留中のメッセージが表示され、コンシューマーが表示されないため)
Name ↑ Number Of Pending Messages Number Of Consumers Messages Enqueued Messages Dequeued Views Operations
queue.readresult 19595 0 40747 76651 Browse Active Consumers
bundle-context.xml の内容
<!-- JMS -->
<bean id="jmsConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory" destroy-method="stop">
<property name="maxConnections" value="5" />
<property name="maximumActive" value="5" />
<property name="connectionFactory">
<bean class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL">
<value>tcp://localhost:61616</value>
</property>
</bean>
</property>
</bean>
<bean id="ResultMessageConverter" class="com.bla.ResultMessageConverter" />
<jms:listener-container connection-factory="jmsConnectionFactory" destination-resolver="jmsDestinationResolver"
concurrency="2" prefetch="10" acknowledge="auto" cache="none" message-converter="ResultMessageConverter">
<jms:listener destination="queue.readresult" ref="ReaderRequestManager" method="handleReaderResult" />
</jms:listener-container>
どのログにも例外はありません。しばらくして新しい消費者を開始できなかった理由を知っている人はいますか?
ありがとう