[ https://issues.apache.org/jira/browse/AMQ-3405?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13086035#comment-13086035 ]
Timothy Bish commented on AMQ-3405: ----------------------------------- The reason the Message do not reappear in the DLQ is due to Message Audit on the DLQ filtering what would be duplicate messages. I've created a test case and included it in trunk to show that if Audit is disabled on the DLQ then the Messages are moved back in. The Move operation places the message onto the destination without modifying its Message Id so any Audited resource will filter it as a duplicate if it was delivered to that destination previously. > DLQ messages moved/copied into original queue disappear after failing > processing for a second time > -------------------------------------------------------------------------------------------------- > > Key: AMQ-3405 > URL: https://issues.apache.org/jira/browse/AMQ-3405 > Project: ActiveMQ > Issue Type: Bug > Components: Broker > Affects Versions: 5.4.2 > Environment: Windows 7, Java 64bit 1.6 update 20, Client and server > 5.4.2 > Reporter: Carey Flichel > > 1. Message in queue A fails enough times to be moved to the DLQ. > 2. We move/copy the message back to queue A to attempt reprocessing. Invoking > the retry operation from JMX can also be used. > 3. The consumer once again fails to consume the message greater than the max > number of times. > 4. The message is not put back into the DLQ. If it was moved rather than > copied, it means we have a message that was never successfully consumed, but > has nevertheless disappeared. > This is all with the default ActiveMQ settings, though I tried adjusted the > DLQ configuration to support both expired and non-persistent messages. > I found this posting which seems to indicate the same issue I am seeing: > http://www.mail-archive.com/users@activemq.apache.org/msg09683.html. One > difference that I am seeing is that restarting ActiveMQ does not cause the > message to show up in the DLQ again. Once it is lost, it is lost forever. > To replicate this, I believe you can use a consumer that just fails on every > invocation. > One interesting thing is that if I put a message into the DLQ directly, then > move it to a queue with a consumer, it will end up in the DLQ again as you > would expect. If I then move the DLQ message back to the original queue, it > will then show the bevahiour outlined above. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira