개발/Spring

[Spring Batch] no job configuration with the name was registered

hojak99 2020. 12. 1. 18:08

'sync' 라는 job 을 생성하고 jobLocator 를 이용하여 job 을 가져오려고 하는데 계속 해당 에러가 발생했다.

no job configuration with the name 'sync' was registered

 


우선 Spring Batch 에서 JobRegistry 라는 클래스를 제공해주고 있다.

해당 JobRegistryBeanPostProcessor 클래스도 제공하는데 job 들을 설정한 jobRegistry 에 등록시켜주는 친구인 것 같다.
네이밍도 Post Processor 인 것으로 보아 application context 올라가고 job 으로 등록된 bean 들을 jobRegistry 에 등록시켜 주는 것으로 이해하면 될 것 같다.

 

@Configuration
class JobRegistryConfig {
    @Bean
    fun jobRegistryBeanPostProcessor(jobRegistry: JobRegistry): JobRegistryBeanPostProcessor {
        val jobRegistryBeanPostProcessor = JobRegistryBeanPostProcessor()
        jobRegistryBeanPostProcessor.setJobRegistry(jobRegistry)
        return jobRegistryBeanPostProcessor
    }
}

 

반응형