Open occidere opened 4 years ago
beforeStep
Reader
Writer
Processor
afterStep
스프링 배치 처음 실행 시 내부적으로 StepListener 들을 ArrayList 에 담음
위 ArrayList 에 담긴 Listener 들의 BeforeStep 을 호출함
read, process, write 작업 수행
이후 Listener 가 담긴 ArrayList 를 reverse 함 (Collections.reverse())
Collections.reverse()
reverse 된 Listener 의 ArrayList에 담긴 AfterStep 을 호출함
@Order(value = 1) 처럼 어노테이션을 사용하여 순서 지정 가능
@Order(value = 1)
순서 지정 시 우선적으로 리스트에 담겨서 호출됨
순서를 지정하지 않으면 reader, writer, processor 순으로 담김
reader
writer
processor
Spring Batch 에서 StepExecutionListener 의 beforeStep, afterStep 호출 순서
TL; DR
beforeStep
호출 순서Reader
->Writer
->Processor
afterStep
호출 순서Processor
->Writer
->Reader
beforeStep
의 역순)상세 호출 순서
스프링 배치 처음 실행 시 내부적으로 StepListener 들을 ArrayList 에 담음
위 ArrayList 에 담긴 Listener 들의 BeforeStep 을 호출함
read, process, write 작업 수행
이후 Listener 가 담긴 ArrayList 를 reverse 함 (
Collections.reverse()
)reverse 된 Listener 의 ArrayList에 담긴 AfterStep 을 호출함
순서 지정하기
@Order(value = 1)
처럼 어노테이션을 사용하여 순서 지정 가능순서 지정 시 우선적으로 리스트에 담겨서 호출됨
순서를 지정하지 않으면
reader
,writer
,processor
순으로 담김