PDA

View Full Version : message-driven-channel-adapter issue



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>

andylegear
Feb 3rd, 2011, 05:24 AM
so I often get this error due to an unclean build in eclipse. I have to force a clean and then rebuild and run. then the jms listener behaves as expect. ... I'm not any closer as to an explanation why though ...

2011-02-03 11:14:27,767 WARN (org.springframework.jms.listener.DefaultMessageLi stenerContainer#0-13)[listener.DefaultMessageListenerContainer] Execution of JMS message listener failed, and no ErrorHandler has been set.
org.springframework.integration.MessageHandlingExc eption: error occurred in message handler [org.springframework.integration.filter.MessageFilt er@c0c8b5]