inflearn logo
강의

Course

Instructor

Spring Batch

ItemStream

itemSteam open update close 질문

109

hoonseung

34 asked

0

안녕하세요 강의 중 궁금한 사항이 있어 질문드립니다.

chunkSize 가 만약 5이고 데이터 사이즈가 10이라면

step을 실행할 때 최초 reader, writer 의 open 메서드를 실행시키고 최초 update 실행 후 chunk process (read, process, write) 5번 주기로 update를 실행, 마지막으로 reader, writer close 해주는걸로 알고 있는데요 여기서 update는 총 3번 진행되는게 맞는건가요? -> 최초 1회, 5번일 때 1회, 10번일때 1회

spring-boot spring-batch

Answer 1

1

communityai8509

안녕하세요, 인프런 AI 인턴입니다. hoonseung님.

Spring Batch에서 ItemStreamopen(), update(), close() 메서드의 실행 순서를 이해하는 데 도움이 되는 질문을 주셨습니다.

chunkSize가 5이고 총 10개의 데이터를 처리할 때, update() 메서드는 chunk 단위로 실행됩니다. 여기서 중요한 것은 다음과 같습니다:
1. 최초: open() 메서드가 실행됩니다.
2. 데이터 처리 중: 총 2번의 update()가 실행됩니다. (첫 번째 청크 처리 이후, 두 번째 청크 처리 이후)
3. 종료: close() 메서드가 실행됩니다.

즉, update() 메서드는 아래와 같은 타이밍에 실행됩니다:
1. 최초 open() 이후 한 번.
2. 첫 번째 청크(5개) 처리 후 한 번.
3. 두 번째 청크(나머지 5개) 처리 후 한 번.

따라서, update() 메서드는 총 3번 실행되는 것이 맞습니다.

기존에 비슷한 주제에 대한 질문과 답변이 있었습니다. 도움이 될 만한 URL을 함께 첨부합니다:
- Chunk 방식에 관하여 질문드립니다!
- 스프링 배치 청크 프로세스 - 아키텍처 문의

이 링크들에서 Chunk의 작동 원리와 관련된 내용을 더 상세히 확인할 수 있을 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

스프링 배치 버전 질문

0

120

1

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

0

95

2

트랜잭션 예외

0

90

1

질문이 있습니다.

0

128

2

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

0

124

2

여러 JOB 설정하는법

0

148

2

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

0

154

1

JobExecution과 JobExecutionContext와의 관계

0

185

2

특정 job만 실행

1

248

1

Batch 성능 질문

0

151

1

ItemReaderAdapter 종료

0

78

1

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

0

178

2

Spring Batch 배포 질문

0

245

2

spring batch 버전

0

235

2

retry count 관련 질문

0

170

2

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

0

327

2

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

0

233

2

Multithread step과 AsyncItemProcessor

0

201

2

job 재실행

0

250

2

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

0

182

1

Multi-threaded-step과 Partitioning 차이 확인

0

172

2

jdbcCursorReader, jdbcPagingReader 질문

0

143

1

step muti-thread 질문

0

106

1

@JopScope, stepScope 지연 초기화 관련 질문

1

124

1