获取没有名为“ jobLauncher”的bean可用异常

时间:2019-05-17 18:11:31

标签: java rest spring-boot spring-batch job-scheduling

应用程序启动但出现此异常

Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'jobLauncher' available
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:687)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1207)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:284)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1081)
    at com.hms.ar.batch.job.ARBatchJobApplication.main(ARBatchJobApplication.java:55)

我尝试在资源文件夹下创建spring.xml  并定义JobLauncher bean。仍然有同样的例外

我试图@Autowire这个bean。仍然有相同的异常

我主要方法中的一些代码

public static void main(String[] args) {
        savedArgs = args;
        String jobName = processParameters(args);
        ApplicationContext ctx = configureApplication(new SpringApplicationBuilder()).run(args);
        JobLauncher jobLauncher = (JobLauncher) ctx.getBean("jobLauncher");
        JobExplorer jobExplorer = (JobExplorer) ctx.getBean("jobExplorer");
        Job job = (Job) ctx.getBean(jobName);

}

我希望我的工作能够开始,但是由于这个异常而没有开始

1 个答案:

答案 0 :(得分:3)

将@EnableBatchProcessing添加到您的配置类之一。

https://docs.spring.io/spring-batch/trunk/reference/html/configureJob.html

  

@EnableBatchProcessing的工作方式与Spring系列中的其他@ Enable *注释类似。在这种情况下,@ EnableBatchProcessing提供了用于构建批处理作业的基本配置。在此基本配置中,除了提供许多可自动装配的bean之外,还创建了StepScope实例:

     
      
  • JobRepository-Bean名称“ jobRepository”
  •   
  • JobLauncher-Bean名称为“ jobLauncher”
  •   
  • JobRegistry-Bean名称为“ jobRegistry”
  •   
  • PlatformTransactionManager-Bean名称为“ transactionManager”
  •   
  • JobBuilderFactory-Bean名称“ jobBuilders”
  •   
  • StepBuilderFactory-Bean名称为“ stepBuilders”
  •