so with spring DefaultMessageListenerContainer, it does a consumer.receive, then calls your code, catches the exception, and rolls back the transaction. redelivery exceeds the limits and the message is delivered to the dlq. Activemq does not see the exception at all so it cannot remember it as a property. I just sees the rollback. I guess we could init the cause to rollback in this case, but it is not possible to access to original exception.
Spring has a SimpleMessageListenerContainer that registers a listener, give this a try, the exception should then be reported back to ActiveMQ. On 4 May 2011 17:38, karen <jaskaran1...@gmail.com> wrote: > Hi Gary > > Thanks for replying. > I have attached the log file with trace level for the same use case. Also i > have attached my listener class. > > Hope this helps. > > Thanks alot > http://activemq.2283324.n4.nabble.com/file/n3496132/activemq.txt > activemq.txt > http://activemq.2283324.n4.nabble.com/file/n3496132/TestMessagesListener.txt > TestMessagesListener.txt > > In my eclipse console i get the following exception data when the listerner > throws an exception:- > 2011-05-04 21:58:14,691 WARN > [org.springframework.jms.listener.DefaultMessageListenerContainer] - > <Execution of JMS message listener failed, and no ErrorHandler has been > set.> > java.lang.RuntimeException: Pls work force a redelivery > at > com.pearson.rel.webapp.listener.jms.TestMessagesListener.onMessage(TestMessagesListener.java:11) > at > org.springframework.jms.listener.adapter.MessageListenerAdapter.onMessage(MessageListenerAdapter.java:339) > at > org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:535) > at > org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:495) > at > org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:467) > at > org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:323) > at > org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:261) > at > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1056) > at > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1048) > at > org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947) > at java.lang.Thread.run(Thread.java:619) > > -- > View this message in context: > http://activemq.2283324.n4.nabble.com/ActiveMQ-5-5-Not-able-to-get-the-DLQ-DELIVERY-FAILURE-CAUSE-PROPERTY-value-tp3492931p3496132.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com. > -- http://blog.garytully.com http://fusesource.com