配置的一个监听队列的程序,发现隔断时间消费者的数量就变少了,最后变为0。让人苦恼的是项目和mq都没有报错信息,而且一样配置的其他队列没有问题,怀疑是程序处理的逻辑或者时间方面的问题。
<bean id="jmsConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="${mq.url}" />
<property name="useAsyncSend" value="true" />
</bean>
<bean id="pooledJmsConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory"
destroy-method="stop">
<property name="connectionFactory" ref="jmsConnectionFactory" />
<property name="maxConnections" value="${mq.maxJmsConnections}" />
<property name="maximumActive" value="${mq.maximumActive}" />
</bean>
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="pooledJmsConnectionFactory" />
</bean>
<bean id="tmsToAppConsumer"
class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="pooledJmsConnectionFactory" />
<property name="concurrentConsumers" value="10" />
<property name="destination" ref="tmsToAppQueue" />
<property name="messageListener" ref="tmsToAppListener" />
</bean>