특정 Exception이 발생했을 경우 일정 횟수만큼 재시도할 수 있는 어노테이션이다.
예를 들어, 서비스 내에서 다른 서비스에 있는 API를 호출할 때 간헐적으로 토신 오류가 발생할 수 있다.
하지만 이때마다 사용자가 에러메세지를 받아본다면 당혹스러울 것이다.
사용법은 아주 간단하다.
1. Spring Application에 @EnableRetry 어노테이션 추가
2. 재시도 하고 싶은 메소드에 @Retryable 어노테이션 추가
- include : 여기에 설정된 특정 Exception이 발생했을 경우 retry한다.
- exclude : 설정된 Exception 재시도 제외
- maxAttempts : 최대 재시도 횟수 (기본 3회)
- backoff : 재시도 pause 시간
@Retryable(include = [ResourceAccessException::class], backoff = Backoff(1000))
class ApiCallService {
...
}
'Programming > Java & JSP & Spring' 카테고리의 다른 글
Base64 인코딩 (+ Base58) (0) | 2019.10.26 |
---|---|
[Spring] DI - 빈 주입하기 With Kotlin (0) | 2019.08.15 |
[Spring] 자동설정 (AutoConfiguration) (0) | 2019.08.11 |
[JPA] Entity 칼럼 상속 (0) | 2019.08.10 |
[SpringBoot] 프로파일(Profile) 설정 (0) | 2018.01.31 |