jebscar
Nov 3rd, 2009, 12:29 PM
We are utilizing the message-driven-channel-adapter config element and we are seeing the following WARNINGs in our application logs.
2009-10-30 09:05:21,731 WARN [org.springframework.jms.listener.DefaultMessageLis tenerContainer] Execution of JMS message listener failed
java.lang.IllegalStateException: No message listener specified - see property 'messageListener'
at org.springframework.jms.listener.AbstractMessageLi stenerContainer.invokeListener(AbstractMessageList enerContainer.java:489)
at org.springframework.jms.listener.AbstractMessageLi stenerContainer.doExecuteListener(AbstractMessageL istenerContainer.java:451)
at org.springframework.jms.listener.AbstractPollingMe ssageListenerContainer.doReceiveAndExecute(Abstrac tPollingMessageListenerContainer.java:323)
at org.springframework.jms.listener.AbstractPollingMe ssageListenerContainer.receiveAndExecute(AbstractP ollingMessageListenerContainer.java:241)
at org.springframework.jms.listener.DefaultMessageLis tenerContainer$AsyncMessageListenerInvoker.invokeL istener(DefaultMessageListenerContainer.java:982)
at org.springframework.jms.listener.DefaultMessageLis tenerContainer$AsyncMessageListenerInvoker.execute OngoingLoop(DefaultMessageListenerContainer.java:9 74)
at org.springframework.jms.listener.DefaultMessageLis tenerContainer$AsyncMessageListenerInvoker.run(Def aultMessageListenerContainer.java:876)
at java.lang.Thread.run(Thread.java:595)
What I believe to be relevant configuration is below. The exception and the code implies that we need to populate the messageListener property on the DefaultMessageListenerContainer. The application appears to be operating normally as messages are handed off to the router and message flow is processing as expected. Do we have a configuration issue we need to fix given our use case??
<bean id="listenerContainer" class="org.springframework.jms.listener.DefaultMessageLis tenerContainer">
<property name="concurrentConsumers" value="5" />
<property name="maxConcurrentConsumers" value="15" />
<property name="transactionManager" ref="txManager" />
<property name="connectionFactory" ref="connFactory" />
<property name="destination" ref="jndiQueue1" />
<property name="cacheLevelName" value="CACHE_NONE" />
<property name="acceptMessagesWhileStopping" value="false" />
<property name="recoveryInterval" value="10000" />
</bean>
<jms:message-driven-channel-adapter id="msgDrivenChannelAdapter" channel="channel1" container="listenerContainer" />
<si:chain input-channel="channel1">
<si:router ref="msgRouter"/>
</si:chain>
2009-10-30 09:05:21,731 WARN [org.springframework.jms.listener.DefaultMessageLis tenerContainer] Execution of JMS message listener failed
java.lang.IllegalStateException: No message listener specified - see property 'messageListener'
at org.springframework.jms.listener.AbstractMessageLi stenerContainer.invokeListener(AbstractMessageList enerContainer.java:489)
at org.springframework.jms.listener.AbstractMessageLi stenerContainer.doExecuteListener(AbstractMessageL istenerContainer.java:451)
at org.springframework.jms.listener.AbstractPollingMe ssageListenerContainer.doReceiveAndExecute(Abstrac tPollingMessageListenerContainer.java:323)
at org.springframework.jms.listener.AbstractPollingMe ssageListenerContainer.receiveAndExecute(AbstractP ollingMessageListenerContainer.java:241)
at org.springframework.jms.listener.DefaultMessageLis tenerContainer$AsyncMessageListenerInvoker.invokeL istener(DefaultMessageListenerContainer.java:982)
at org.springframework.jms.listener.DefaultMessageLis tenerContainer$AsyncMessageListenerInvoker.execute OngoingLoop(DefaultMessageListenerContainer.java:9 74)
at org.springframework.jms.listener.DefaultMessageLis tenerContainer$AsyncMessageListenerInvoker.run(Def aultMessageListenerContainer.java:876)
at java.lang.Thread.run(Thread.java:595)
What I believe to be relevant configuration is below. The exception and the code implies that we need to populate the messageListener property on the DefaultMessageListenerContainer. The application appears to be operating normally as messages are handed off to the router and message flow is processing as expected. Do we have a configuration issue we need to fix given our use case??
<bean id="listenerContainer" class="org.springframework.jms.listener.DefaultMessageLis tenerContainer">
<property name="concurrentConsumers" value="5" />
<property name="maxConcurrentConsumers" value="15" />
<property name="transactionManager" ref="txManager" />
<property name="connectionFactory" ref="connFactory" />
<property name="destination" ref="jndiQueue1" />
<property name="cacheLevelName" value="CACHE_NONE" />
<property name="acceptMessagesWhileStopping" value="false" />
<property name="recoveryInterval" value="10000" />
</bean>
<jms:message-driven-channel-adapter id="msgDrivenChannelAdapter" channel="channel1" container="listenerContainer" />
<si:chain input-channel="channel1">
<si:router ref="msgRouter"/>
</si:chain>