Is there any functionality built in to spring-amqp that would make it easy to requeue dead letter messages? I can write code to do it but it seems like such a common use case that would fit well into the framework.
            Asked
            
        
        
            Active
            
        
            Viewed 2,470 times
        
    0
            
            
        - 
                    Can you be more detail than in your below comment ? Is there exists a way to set a limit for requeuing some message ? I mean something like that: Give three chances for requeuing for each message. After three messages reject it. – Mar 23 '17 at 15:24
 
1 Answers
1
            This is outside of Spring AMQP, but you can configure a TTL on the dead letter queue and configure that queue to dead-letter back to the original queue when expired.
You can check the x-death header if you want to give up completely after some number of retry cycles.
See this answer and its question for more information.
        Community
        
- 1
 - 1
 
        Gary Russell
        
- 166,535
 - 14
 - 146
 - 179
 
- 
                    Gary this works great. We hit something today as a result of implementing this that I thought I would share for your future reference. We had a case in our dev environment where a MessageListener was erroring out over and over. We eventually started seeing errors in RabbitMQ of frame_too_large. After researching we found in the RabbitMQ documentation that an array gets added to the x-death header you mentioned each time a message is dead lettered. Since our solution sets up an endless cycle the message got too large and it eventually blew up. Future readers might want to consider a max retry. – Josh Chappelle Jan 20 '16 at 18:39
 - 
                    @JoshChappelle with newer versions of the broker, the `x-death` header contains only one entry per queue visited and updates a count each time, instead of extending the header on each round. – Gary Russell Mar 25 '17 at 16:16
 - 
                    Yep we have upgraded our broker and no longer have that problem. Thanks for mentioning that. – Josh Chappelle Mar 25 '17 at 17:29