스프링 배치 청크 프로세스 - 아키텍처 문의
452
작성한 질문수 2
Chunk Process 아키텍처 챕터를 보고 있는데요.
아키텍처 그림에서 ItemReader가 읽은 item이 null 일 경우,
모든 반복문 및 Chunk 프로세스를 종료한다고 되어 있는데
ItemProcessor, ItemWriter 처리 이후에 Chunk 프로세스가 종료되는게 맞지 않나요?( 설명만 봐서는 read에서 null 리턴시 바로 Step이 종료되는 것 처럼 이해가 됩니다. )
예를 들어 11개의 아이템이 있고 Chunk 사이즈가 5이면,
Chunk가 총 3개로 처리가 되고, 각 Chunk의 사이즈는 5, 5, 1 로 3번의 트랜잭션 처리가 처리되고 난 뒤에 Chunk 프로세스가 종료가 되니까요.
답변 1
1
네
말씀하신 것 처럼 ItemReader 에서 읽어온 데이터는 모두 처리가 된 이후에 프로세스가 종료됩니다
근데 잘 생각해 보면 ItemReader 가 null 이라는 것은 ItemProcessor 와 ItemWriter 의 과정이 모두 끝난 다음에 나올수 있는 값입니다
ItemReader 가 null 을 리턴한다는 것은 더 이상 처리해야할 데이터가 없다는 것을 전제로 하는 것입니다
ItemProcessor 와 ItemWriter 가 ItemReader 로부터 소스를 받아 처리하고 세개의 클래스는 순서대로 흘러가기 때문에 ItemProcessor 와 ItemWriter 가 처리하는 도중에 ItemReader 가 단독으로 작업을 진행할 수 없습니다
즉 ItemReader 는 항상 작업의 맨처음 시작이기 때문에 시작부터 null 이 나온다면 더 이상 이후의 과정은 진행되지 않음을 의미한다고 이해하시면 될 것 같습니다
스프링 배치 버전 질문
0
120
1
소스코드가 어디에 있나요?
0
96
2
트랜잭션 예외
0
90
1
질문이 있습니다.
0
129
2
ChunkListener 에서 beforeChunk 의 실행 시점 관련 질문
0
124
2
여러 JOB 설정하는법
0
150
2
강의 자료 다른 방법 있을까요?
0
154
1
JobExecution과 JobExecutionContext와의 관계
0
186
2
특정 job만 실행
1
251
1
Batch 성능 질문
0
152
1
ItemReaderAdapter 종료
0
79
1
[ 강좌 Git 브랜치 문의 ] 섹션 9 > JdbcCursorItemReader, JpaCursorItemReader
0
179
2
Spring Batch 배포 질문
0
245
2
spring batch 버전
0
236
2
retry count 관련 질문
0
171
2
StepExecutionListener 의 afterStep 에서 return ExitStatus.FAILED 에 의한 동작에 의문이 갑니다.
0
330
2
jdbc, jpa 커서방식 조회 방식 차이 질문 (강사님께 답변 받고 싶습니다)
0
235
2
Multithread step과 AsyncItemProcessor
0
202
2
job 재실행
0
250
2
bean 생명주기 문제 도와주세요(@Scope("step"), @Autowired)
0
183
1
Multi-threaded-step과 Partitioning 차이 확인
0
174
2
jdbcCursorReader, jdbcPagingReader 질문
0
145
1
step muti-thread 질문
0
109
1
itemSteam open update close 질문
0
110
1





