inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 배치

Transition - 배치상태 유형 (BatchStatus / ExitStatus / FlowExecutionStatus)

BatchStatus 와 ExitStatus 의 차이점이 뭔지 모르겠습니다.

750

식빵

작성한 질문수 56

2

안녕하세요 선생님, 제가 강의를 계속 듣다가 너무 헷갈려서 질문 올립니다.

섹션 6 Transition - 배치상태 유형 (BatchStatus / ExitStatus / FlowExecutionStatus) 를 듣고 계속 머릿속으로 BatchStatus 와 ExitStatus 둘 간의 차이점을 이해하려고 해도 도통 이해가 되지 않아서 질문드립니다.

PPT 에서는 BatchStatus, ExitStatus 를 다음과 같이 정의합니다.

- BatchStatus : JobExecution 과 StepExecution 속성으로 Job 과 Step 의 종료 후 최종 결과 상태가 무엇인지 정의

- ExitStatus : JobExecution 과 StepExecution 의 속성으로 Job 과 Step 의 실행 후 어떤 상태로 종료되었는지 정의

... 라고 작성되어 있는데요.

BatchStatus 에서 설명하는 "종료 후 최종 결과 상태" 라는 게 결국은 ExitStatus 에서 말하는 "실행 후 어떤 상태로 종료되었는지" 와 똑같은 말로 보입니다.

혹시 이 둘간의 "차이"와 "용도"가 뭔지 조금만 이해하기 쉽게 알려주실 수 없을까요?

spring-boot spring-batch

답변 1

3

정수원

강의에서 문장이 약간 중복되는 느낌이 있긴 합니다.

BatchStatus 는 배치의 현재 실행중인 상태입니다. 즉 Job 의 실행 이후 배치가 실행 중인지, 중단했는지, 성공했는지 실패했는지 배치의 현 실행 상태를 의미합니다.

ExitStatus 는 말 그대로 Job 이나 Step 이 어떤 상태로 종료되었는지를 의미합니다. 그래서 BatchStatus 상태값과 ExitStatus 는 동일한 값을 가질 수도 있고 그렇지 않을 수도 있습니다.

일반적으로 Step 의 ExitStatus 가 실패한 상태로 종료었다면 Job 의 BatchStatus 도 실패상태로 결정되는 경우가 일반적입니다.
하지만 Step 의 ExitStatus 가 실패로 종료되었다 하더라도 BatchStatus 가 반드시 실패가 아닐 수 있고 성공 상태일 수도 있습니다.

그래서 Job 의 BatchStatus 값은 여러 스텝의 ExitStatus 를 합쳐서 최종 결정하기도 합니다.

개념적으로 요약하면 BatchStatus 는 배치의 현 실행 상태를 의미한다면 ExitStatus 는 실행 이후 어떤 식으로 종료되었는지를 결정하는 상태 값이라 이해하시면 되겠습니다.

 

스프링 배치 버전 질문

0

122

1

소스코드가 어디에 있나요?

0

96

2

트랜잭션 예외

0

92

1

질문이 있습니다.

0

130

2

ChunkListener 에서 beforeChunk 의 실행 시점 관련 질문

0

125

2

여러 JOB 설정하는법

0

150

2

강의 자료 다른 방법 있을까요?

0

154

1

JobExecution과 JobExecutionContext와의 관계

0

186

2

특정 job만 실행

1

252

1

Batch 성능 질문

0

153

1

ItemReaderAdapter 종료

0

80

1

[ 강좌 Git 브랜치 문의 ] 섹션 9 > JdbcCursorItemReader, JpaCursorItemReader

0

179

2

Spring Batch 배포 질문

0

246

2

spring batch 버전

0

236

2

retry count 관련 질문

0

172

2

StepExecutionListener 의 afterStep 에서 return ExitStatus.FAILED 에 의한 동작에 의문이 갑니다.

0

330

2

jdbc, jpa 커서방식 조회 방식 차이 질문 (강사님께 답변 받고 싶습니다)

0

235

2

Multithread step과 AsyncItemProcessor

0

203

2

job 재실행

0

251

2

bean 생명주기 문제 도와주세요(@Scope("step"), @Autowired)

0

183

1

Multi-threaded-step과 Partitioning 차이 확인

0

175

2

jdbcCursorReader, jdbcPagingReader 질문

0

146

1

step muti-thread 질문

0

111

1

itemSteam open update close 질문

0

112

1