Я пытаюсь реализовать параллельную обработку с использованием пружинной загрузки и пакетной обработки. Эта партия будет запущена из пользовательского интерфейса с некоторыми обязательными параметрами
Мне нужно создать шаги на основе параметров запроса, я попробовал, как показано ниже,
Контроллер покоя выглядит,
JobParameters jobParameters = new JobParametersBuilder().addLong("JobID",System.currentTimeMillis())
.addString("fileName", filename)
.addString("buisinessDate", model.getGeneralServiceModel().getBusinessDate())
.addString("source", model.getGeneralServiceModel().getSource())
.toJobParameters();
jobLauncher.run(job, jobParameters);
И пакетный конфиг:
Flow masterFlow = (Flow)new FlowBuilder("masterFlow").start(stepOne()).build();
List<Step> steps = new ArrayList<Step>();
for (ConcurrentLinkedQueue date : taskOne.readFile()) {
steps.add(createStep(date));
}
return jobs.get("myJob")
.start(masterFlow)
.next(createParallelFlow(steps))
.end()
.build();
masterFlow считывает параметры задания в его переменные, а readFile () выдает список (на основании этого должны быть созданы шаги), для этого требуются параметры jobParameters.
Проблема:
При запуске самого приложения readFile () выполняется. но мне нужно, чтобы он выполнялся, когда задание запускается через RestController, поскольку оно имеет необходимые параметры.
Пожалуйста, помогите мне, как я могу остановить это выполнение при запуске приложения.