Apr 5th, 2011, 04:17 PM
Listener exception = Channel.basicReject() = infinite redelivery?
On an exception in message processing, the exception is eventually caught and delegated to AbstractMessageListenerContainer.rollbackOnExcepti onIfNecessary. That method sends/commits a Basic.Reject with requeue = true if (!getAcknowledgeMode().isAutoAck() && !getAcknowledgeMode().isManual()). That means the message is sent back to the server at the back of the queue and is redelivered when it comes up again. Assuming it's a poison message, how would you break out of this infinite cycle?