spring 에서 async기능구현 필요가 있다면 메쏘드에 @Async를 사용하면 된다.

이 때, Application에는 @EnableAsync가 필요하다.


 REF



Retryable은 몇번의 실패을 다시 해주게 해주는데, 아래와 같이 사용하면된다.

정해진 실패 회수를 초과할 경우 @Recover함수가 불리게 되는데, exception + 파라미터가 동일하다는 점에 주의! 


Application에는  @EnableRetry가 필요하다.  


private static final int MAX_ATTEMPTS = 4;
private static final long BACK_OFF_DELAY = 2000;  //msec
@Retryable(value = DataAccessResourceFailureException.class,
maxAttempts = MAX_ATTEMPTS,
backoff = @Backoff(delay = BACK_OFF_DELAY))
public void checkAndProcess(String userKey, String itemId) {

@Recover
public void recover(DataAccessResourceFailureException e, String userKey, String itemId) {
log.error("All retries have failed!, userKey:{} " + e.toString(), userKey);
}


Posted by yongary
,