Spring boot batch: как запустить задание с параметрами задания - PullRequest
1 голос
/ 03 июля 2019

Я должен был установить параметры задания для пакета с пружиной, но для пакета с пружинной загрузкой это невозможно сделать легко.

Мне нужно перезапустить задание, но если параметры совпадают, пакет с пружиной не запуститсяопять работа.Поэтому я решил добавить метку времени в качестве параметра.

1 Ответ

1 голос
/ 03 июля 2019

Я нашел способ и поставил свое решение на stackoverflow для тех, кто может быть заинтересован.

Сначала вам нужно добавить это свойство в ваш application.properties / application.yml:

spring.batch.job.enabled: false

С этим свойством весенняя загрузка не запускает задание автоматически.

Далее, в вашем файле конфигурации, вы должны добавить bean-компонент, который запускает вашу работу и где вы можете поместить параметры работы:

@Bean
@Autowired
public JobExecution run(Job job, JobLauncher jobLauncher) {
    JobExecution jobExecution = null;
    try {
        JobParameters jobParameters = new JobParametersBuilder()
                .addLong("time", System.currentTimeMillis()).toJobParameters();

        jobExecution = jobLauncher.run(job, jobParameters);
        logger.info("Exit Status : " + jobExecution.getStatus());
    } catch (Exception e) {
        e.printStackTrace();
    }
    return jobExecution;
}

Если у вас есть лучший способ, дайте мне знать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...