Что мне делать с BackOffInterruptedException в Spring's RetryTemplate?

Я выполняю автоматические отчеты об ошибках из своего настольного приложения, и у меня есть это исключение, которое я не знаю, как обработать:

java.lang.InterruptedException: sleep interrupted
    at java.lang.Thread.sleep(Thread.java)
    at org.springframework.retry.backoff.ThreadWaitSleeper.sleep(ThreadWaitSleeper.java:30)
    at org.springframework.retry.backoff.ExponentialBackOffPolicy.backOff(ExponentialBackOffPolicy.java:181)
    at org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:306)
    at org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:164)

org.springframework.retry.backoff.BackOffInterruptedException: Thread interrupted while sleeping; nested exception is java.lang.InterruptedException: sleep interrupted
    at org.springframework.retry.backoff.ExponentialBackOffPolicy.backOff(ExponentialBackOffPolicy.java:184)
    at org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:306)
    at org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:164)

Код использует Spring RetryTemplate с ExponentialBackOffPolicy. Я понимаю, что спящая нить прервалась, но я не знаю почему, и поэтому я не знаю, что мне с этим делать. Если приложение было закрыто, тогда было бы уместно проглотить это исключение. Если что-то перестало работать и нужно перезапустить, тогда я должен это сделать; но я думал, что RetryTemplate будет делать это для меня во всех ситуациях, где это имеет смысл. Я не хочу повторять попытку RetryTemplate.

0 ответов

Другие вопросы по тегам