Получение No bean с именем 'jobLauncher' доступное исключение - PullRequest
0 голосов
/ 17 мая 2019

Приложение запущено, но получило это исключение

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.все еще получил то же исключение

Я пытался @Autowire этот боб.Все еще получено то же исключение

некоторые коды в моем главном методе

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 Ответ

3 голосов
/ 17 мая 2019

Добавьте @EnableBatchProcessing к одному из ваших классов конфигурации.

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

@EnableBatchProcessing работает аналогично другим аннотациям @ Enable * в семействе Spring.В этом случае @EnableBatchProcessing предоставляет базовую конфигурацию для создания пакетных заданий.В рамках этой базовой конфигурации создается экземпляр StepScope в дополнение к числу bean-компонентов, доступных для автоматического подключения:

  • JobRepository - имя bean-компонента "jobRepository"
  • JobLauncher - имя bean-компонента"jobLauncher"
  • JobRegistry - имя компонента "jobRegistry"
  • PlatformTransactionManager - имя компонента "actionManager "
  • JobBuilderFactory - имя компонента" jobBuilders "
  • StepBuilderимя бина "stepBuilders"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...