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.