반응형
특정 Exception이 발생했을 경우 일정 횟수만큼 재시도할 수 있는 어노테이션이다.
예를 들어, 서비스 내에서 다른 서비스에 있는 API를 호출할 때 간헐적으로 통신 오류가 발생할 수 있다.
이럴 때 특정메소드에 재시도 할 수 있는 기능이 있다.
사용법은 아주 간단하다.
1. Spring Application에 @EnableRetry 어노테이션 추가
2. 재시도 하고 싶은 메소드에 @Retryable 어노테이션 추가
- include : 여기에 설정된 특정 Exception이 발생했을 경우 retry한다.
- exclude : 설정된 Exception 재시도 제외
- maxAttempts : 최대 재시도 횟수 (기본 3회)
- backoff : 재시도 pause 시간
@Retryable(maxAttempts = 2, backoff = @Backoff(2000), value = IllegalStateException.class,
exclude = { NullPointerException.class, NullPointerException.class })
public String retryExample(Integer intValue) {
~~~~~~~
return String.format("성공");
}
반응형
'Spring > Annotation' 카테고리의 다른 글
spring @ControllerAdvice, @ExceptionHandler 예외처리 방법 (0) | 2023.06.08 |
---|---|
[SPRING]스프링 어노테이션 정리 (1) | 2021.08.24 |
[Spring Annotation] 스프링 RequestBody post 전송시 json 필드명 변경(파싱) @JsonProperty (0) | 2020.10.11 |