¿Qué es Spring Retry?

Spring Retry es un proyecto Spring que da soporte a reinvocar operaciones erróneas en aplicaciones Spring.

Es un proyecto usado internamente por proyectos como Spring Batch, Spring Integration o Spring for Apache Hadoop.

Esta capacidad es muy útil cuando los errores pueden ser transitorios (por ejemplo un error en la red).

Spring Retry permite definir de forma declarativa (anotaciones) el control del proceso y definir políticas, además de extenderlo y personalizarlo.

Este ejemplo seguro que os da una idea de cómo funciona:

Cuando el método service lance una RemoteAccessException se reintentará la llamada (hasta 3 veces por defecto), si pasado este número de reintentos sigue la excepción entonces se invoca el método con la anotacion @Recover.

La anotación @Retryable soporta diferentes configuraciones.

En la web del proyecto podéis leerlo: https://github.com/spring-projects/spring-retry