JobLauncherApplicationRunner 초기화 과정에서 executeRegisteredJobs 부분은 어떤 부분을 처리하는 건가요?
protected void launchJobFromProperties(Properties properties) throws JobExecutionException {
JobParameters jobParameters = this.converter.getJobParameters(properties);
executeLocalJobs(jobParameters);
executeRegisteredJobs(jobParameters);
}
위 메소드 처리중 executeRegisteredJob(jobParameters) 메소드 디버그 잡아서 확인해보았는데
jobRegistry에 등록된 job이름과 jobNames를 비교해서 일치하면 execute를 실행시키는 로직인데
jobRegistry에 등록된 값이 없어서 패스하더라구요.
저과정이 어떤 역할을 하는건지 궁금합니다.
답변 1
3
네
JobRegistry 는 후반부 챕터에서 학습하게 되는데 생성한 job 들을 스프링의 ApplicationContext 에 저장하는 역할을 합니다.
즉 JobRegistryBeanPostProcessor 라는 빈 후처리기가 있는데 스프링의 빈 라이플 사이클 단계 중 BeanPostProcessor 단계에서 bean 초기화 시 자동으로 JobRegistry에 Job을 등록 시켜줍니다.
그래서 executeRegisteredJob(jobParameters) 를 실행하게 되면 JobRegistry 에 등록된 Job 들을 실행하게 됩니다.
저도 JobRegistry 를 활용해서 사용해 보지는 않았습니다.
후반부 챕터의 스프링 테스트 및 운영에서 설명하고 있으니 참고 부탁드립니다.
스프링 배치 버전 질문
0
139
1
소스코드가 어디에 있나요?
0
122
2
트랜잭션 예외
0
101
1
질문이 있습니다.
0
138
2
ChunkListener 에서 beforeChunk 의 실행 시점 관련 질문
0
143
2
여러 JOB 설정하는법
0
157
2
강의 자료 다른 방법 있을까요?
0
162
1
JobExecution과 JobExecutionContext와의 관계
0
197
2
특정 job만 실행
1
267
1
Batch 성능 질문
0
158
1
ItemReaderAdapter 종료
0
87
1
[ 강좌 Git 브랜치 문의 ] 섹션 9 > JdbcCursorItemReader, JpaCursorItemReader
0
187
2
Spring Batch 배포 질문
0
252
2
spring batch 버전
0
238
2
retry count 관련 질문
0
182
2
StepExecutionListener 의 afterStep 에서 return ExitStatus.FAILED 에 의한 동작에 의문이 갑니다.
0
341
2
jdbc, jpa 커서방식 조회 방식 차이 질문 (강사님께 답변 받고 싶습니다)
0
241
2
Multithread step과 AsyncItemProcessor
0
208
2
job 재실행
0
259
2
bean 생명주기 문제 도와주세요(@Scope("step"), @Autowired)
0
190
1
Multi-threaded-step과 Partitioning 차이 확인
0
183
2
jdbcCursorReader, jdbcPagingReader 질문
0
149
1
step muti-thread 질문
0
114
1
itemSteam open update close 질문
0
117
1





