inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 배치

배치 초기화 설정

JobLauncherApplicationRunner 초기화 과정에서 executeRegisteredJobs 부분은 어떤 부분을 처리하는 건가요?

해결된 질문

377

iloveoov

작성한 질문수 6

0

protected void launchJobFromProperties(Properties properties) throws JobExecutionException {
JobParameters jobParameters = this.converter.getJobParameters(properties);
executeLocalJobs(jobParameters);
executeRegisteredJobs(jobParameters);
}

위 메소드 처리중 executeRegisteredJob(jobParameters) 메소드 디버그 잡아서 확인해보았는데

jobRegistry에 등록된 job이름과 jobNames를 비교해서 일치하면 execute를 실행시키는 로직인데

jobRegistry에 등록된 값이 없어서 패스하더라구요.

저과정이 어떤 역할을 하는건지 궁금합니다.

spring-batch spring-boot

답변 1

3

정수원

JobRegistry 는 후반부 챕터에서 학습하게 되는데 생성한 job 들을 스프링의 ApplicationContext 에 저장하는 역할을 합니다.

즉 JobRegistryBeanPostProcessor 라는 빈 후처리기가 있는데 스프링의 빈 라이플 사이클 단계 중 BeanPostProcessor 단계에서 bean 초기화 시 자동으로 JobRegistryJob을 등록 시켜줍니다.

그래서 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