Hey Tim, thanks for your answer, sorry for the delay, it's true that the Spring DMLC does a message.consume then calls client code (exception happens) Spring tries to rollback, which executes the code in ActiveMQMessageConsumer.rollback() where I think the redelivery policy kicks in, I think the main problem is that the lastMd.getRollbackCause() is not populated, even if there's no DMLC, how are we supposed to deal with messages that are pulled out of ActiveMQ and get an exception, I only see that we do a .setRollBackCause when there's a message.dispatch which happens only if we don't pull.
that's the main different between DMLC and SMLC, the first one does pulling and the second one gives more control to activemq to do work. Correct me if I'm wrong :) thanks again for your answer. -- Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html