retry 사용
@EnableRetry
@EnableRetry // retry 를 사용하려면 해당 어노테이션이 필요하다.
@Configuration
public class ConfigClass {
}
@Retryable
@Retryable(
value = {RuntimeException.class},
maxAttempts = 2,
backoff = @Backoff(delay = 2000)
)
public void method(Param param){
...
}
- RuntimeException 발생시 재시도 한다.
- 최대 2번 재시도 한다. (default = 3)
- 2초의 텀을 두고 재실행 한다. (default = 1초)
@Recover
@Recover
public void recoverMethod(RuntimeException e, Param param){
...
}
- retryable 실패시 별도의 복구 메서드 정의시 사용
- 첫번째 파라미터로 Throwable 파라미터를 받는다.
- 두번째 파라미터 부터 Retryable메소드의 파라미터를 동일하게 선언해야 한다.
- return type도 Retryable메소드와 동일하게 선언해야 한다.