应用程序启动但出现此异常
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);
}
我希望我的工作能够开始,但是由于这个异常而没有开始
答案 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”