0

I am using spring-retry v1.3.1 with @Retryable annotation and I have a few questions on its behaviour. Let's say that in my spring boot application I have a retry configuration that makes my application wait 1 hour before retrying. If my application is killed (for example by kubernetes) while it was waiting in order to do a retry is there a way to catch it and do some operations before shutting down (logging for example)? Also I'm not sure how spring-retry is using threads, if I end up with many retry attempts is there a risk that it blocks the application because of too many threads? Is there a way to give a dedicate thread pool to retryable?

Sekki
  • 99
  • 1
  • 2
  • 8

1 Answers1

2

When interrupted, a BackOffInterruptedException is thrown to the caller so you can catch that.

spring-retry itself does not manage threads; that's up to you.

It is completely thread-based so, yes, you can end up with many suspended threads unless you manage the work with, for example, a ThreadPoolTaskExecutor.

Gary Russell
  • 166,535
  • 14
  • 146
  • 179