I have a pretty common pattern in the redelivery pattern in my routes, and it 
would be nice if the RedeliveryPolicy supported it directly.  I was going to 
create a JIRA for it, but I wanted to get some feedback to see if others felt 
it would be a useful/worthwhile addition.

When I setup redelivery for my routes, I’m often setting them up to “retry 
forever” so I don’t drop messages if destinations are down - nothing special 
here.  However, the external systems are often down for extended periods of 
time so I can wind up with a LOT of log messages for the retry attempts.  I 
want some of the retry attempts logged so I know the redelivery attempt is 
going on, but I don’t need the log message every 15-sec.

I have tried bigger values maximumRedeliveryDelay, but then I get in situations 
where the route can take a very long time to stop (waiting for that pending 
redelivery delay).

To address this issue, I set logRetryAttempted to false in the redelivery 
policy, and then use an onRedelivery processor to log the redelivery attempts 
I’m interested in.  After messing with this for a while, I’ve discovery the 
most common configuration I use is to log the first redelivery attempt, and the 
every n-th attempt, where n can be configured.

My proposal is to add a configuration option to the redeliveryPolicy so it 
supports this directly.  I haven’t come up with a very good name for the option 
- logRetryAttemptedModulus is the only thing that popped into my head and I 
don’t like it much.

Does anyone have any feedback on this proposal?  And an idea for a good name 
for the option?


Reply via email to