Hi I\'m using the spring RestTemplate for calling a REST API. The API can be very slow or even offline. My application is building the cache by sending thousand
You can also tackle this annotation-driven using Spring Retry. This way you will avoid to implement the template.
Add it to your pom.xml
org.springframework.retry
spring-retry
1.1.2.RELEASE
Enable it for your application/configuration
@SpringBootApplication
@EnableRetry
public class MyApplication {
//...
}
Guard methods that are in danger of failure with @Retryable
@Service
public class MyService {
@Retryable(maxAttempts=5, value = RuntimeException.class,
backoff = @Backoff(delay = 15000, multiplier = 2))
public List doDangerousOperationWithExternalResource() {
// ...
}
}