복붙노트

[SPRING] 리더 실패에 대한 스프링 배치 재 시도 메커니즘

SPRING

리더 실패에 대한 스프링 배치 재 시도 메커니즘

하루에 한 번씩 실행되는 봄 일괄 작업이 있습니다. 나는 독자, 프로세서 및 작가를 구현했습니다. 판독기 태스크를 실행하는 중에 예외가 발생하면 전체 작업이 실패한다고 가정하십시오. 나는 5 분 또는 즉시 그 실패 일을 위해 같은 날을 다시하고 싶다. 친절하게도 제가 스프링 배치로 구현할 수있는 방법이나 정보가있는 샘플 코드 나 웹 사이트를 제공하는 방법을 알려주세요.

해결법

  1. ==============================

    1.Spring Retry를 살펴보십시오. 그것은 Spring Batch의 일부로 시작되었지만 2.2.0 버전부터는 독립 실행 형 프로젝트 (및 의존성)가 시작되었습니다.

    Spring Retry를 살펴보십시오. 그것은 Spring Batch의 일부로 시작되었지만 2.2.0 버전부터는 독립 실행 형 프로젝트 (및 의존성)가 시작되었습니다.

    선언적으로 사용할 수 있다는 것이 특히 좋습니다 :

    import org.springframework.retry.annotation.Backoff;
    import org.springframework.retry.annotation.Retryable;
    
    public interface MyExampleService {
    
    @Retryable(maxAttempts = 3, backoff = @Backoff(delay = 2000))
    String callService() throws Exception;
    }
    
  2. from https://stackoverflow.com/questions/32680759/spring-batch-retry-mechanism-for-reader-failure by cc-by-sa and MIT license