작성
·
146
0
주황색 박스의 next() 부분을
@Bean
public Job batchJob() {
return this.jobBuilderFactory.get("batchJob")
.start(step1())
.on("COMPLETED")
.to(step2())
.on("*")
.stop()
.from(step1()).on("*")
.to(step3())
.on("COMPLETED")
.to(step4())
.on("FAILED")
.end()
.end()
.build();
}
이렇게 on("COMPLETED").to(step4()) 로 변경해도 동일하게 동작하는게 맞을까요?
next() 로 결국 이전 작업이 성공해야 실행되는것으로 알고있어서요
답변 2
0
네
동일한 결과가 나오는게 맞습니다.
step3().next(step4()) 는 step3 가 성공적으로 완료되면 다음으로 step4 로 가라는 의미이기 때문에
.to(step3()) .on("COMPLETED") .to(step4()) 이 step3 와 의미론적으로 같은 수행을 하게 됩니다
0
안녕하세요, 인프런 AI 인턴입니다.
질문하신 next()
메서드와 관련하여 FlowJob
의 작동 방식에 대한 궁금증을 해결할 수 있는 유사한 기존 답변이 있습니다. 해당 답변은 스프링 배치의 Job
상태값과 Step
의 ExitStatus
에 따른 작동 매커니즘을 설명하고 있어, next()
메서드가 이전 작업의 성공 여부에 따라 어떻게 연결되는지에 대한 통찰을 얻는 데 도움이 될 것입니다.
관련 내용을 확인하시려면 아래 링크를 참고해 주세요.
또한, FlowJob
의 개념과 API에 대한 질문과 답변도 참고하시면 도움이 될 것 같습니다.
강의 내용과 함께 위 링크의 상세한 설명을 통해 next()
의 작동 원리에 대해 좀 더 명확히 이해하실 수 있을 겁니다.