备忘启动jetty后log中不断交替出现Connector vm://localhost Started/Stopped

启动jetty后log中不断交替出现Connectorvm://localhostStarted和Connectorvm://localhostStopped,这是activemq引发的问题。

问题的原因是在默认情况下,activemq只有当topic/queue有数据时候才会保持它在内存中的存在。所以当队列或者主题中没有数据时,activemq将不断进行启动和停止的操作。

要解决这一现象,必须在spring配置文件中的activemq的listenercontainer声明时,加上<propertyname="cacheLevelName"value="CACHE_CONNECTION"/>这句。

加上之后,重新启动,everythingdone。

如下所示:

<bean id="queueListenerContainer"
		class="org.springframework.jms.listener.DefaultMessageListenerContainer">
		<property name="cacheLevelName" value="CACHE_CONNECTION"/>
		<property name="connectionFactory" ref="jmsConnectionFactory" />
		<property name="destination" ref="QUEUE" />
		<property name="messageListener" ref="queueListener" />
		<property name="transactionManager" ref="jmsTransactionManager" />
		<!-- 使用外部事务管理器时设置为true,默认false -->
		<property name="sessionTransacted" value="true" />
		<property name="concurrency" value="1-100" />

参考资料:

http://forum.springsource.org/showthread.php?86482-ActiveMQ-infinitive-loop-Connector-start-stop

相关推荐