In ActiveMQConnectionConsumer.dispatch() method, if the call to
sessionPool.getServerSession() results in an Exception, the message being
dispatched is never redelivered and is lost forever.  In fact, it gets stuck
in the dispatch queue and can result in no new messages at all being
delivered to the consumer if the prefetchSize has been reached!

This JMSException is part of JMS's public API and it seems to me that if it
is thrown, that should not result in a lost message.

Here's a junit test that reproduces the problem: 
http://old.nabble.com/file/p27871597/GetServerSessionExceptionTest.java
GetServerSessionExceptionTest.java 
-- 
View this message in context: 
http://old.nabble.com/Messages-lost-when-ServerSessionPool.getServerSession%28%29-throws-a-JMSException-tp27871597p27871597.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to