본문 바로가기
spring/spring batch

[Spring Batch] step 중지/통과 하기

by moonsiri 2021. 10. 21.
728x90
반응형

Step 실행 중일 때 다음 단계로 넘어가지 않고 중지하는 방법은 throw 하면 됩니다.

public class PoisonPillItemProcessor<T> implements ItemProcessor<T, T> {

    @Override
    public T process(T item) throws Exception {
        if (isPoisonPill(item)) {
            throw new PoisonPillException("Poison pill detected: " + item);
        }
        return item;
    }
}

 

이번 단계는 지나치고 다음 단계로 넘어가는 방법은 null을 리턴하면됩니다.

public class PoisonPillItemProcessor<T> implements ItemProcessor<T, T> {

    @Override
    public T process(T item) throws Exception {
        if (isPoisonPill(item)) {
            return null;
        }
        return item;
    }
}

 

 

 

[Reference]

https://docs.spring.io/spring-batch/docs/current/reference/html/common-patterns.html#stoppingAJobManuallyForBusinessReasons

728x90
반응형

댓글