최종 변경 : 2023.12.21


retry

Resilience4J의 retry 모듈은 실패한 요청을 재시도하는 기능을 가지고 있다.

retry의 기본적인 우선 순위는 circuit breaker가 실행된 이후 실행되기 때문에 fallbackmethod를 등록한 서킷의 경우 처리하지 않아야 하며 만약 fallbackmethod 동작전 retry를 실행시키고 싶은 경우 내부 config 설정을 통해 우선 순위(Order)를 변경하면 된다.


특정 함수에 retry 패턴 적용

실패가 발생하고 그것을 필수적으로 재시도해야하는 Controller, Service단의 메소드 상단에 retry 어노테이션 선언을 통해 실패 상황을 재시도 할 수 있다.

@Retry(name = "특정할이름", fallbackMethod = "실패시수행할메소드이름")
@Retry(name = "MainControllerMethod1", fallbackMethod = "실패시수행할메소드이름")
@GetMapping("/")
public String mainP() {

    return rest1Comp.restTemplate1().getForObject("/data", String.class);
}