У меня есть весенняя пакетная установка, и я пытаюсь запустить два задания параллельно. У меня одна работа работает нормально, но при добавлении второй работы она перестает работать. Настройка работы следующая:
<job id = "job">
<split id = "split_1" task-executor = "taskExecutor" next = "step_4">
<flow>
<step id = "step_1">
<tasklet ref = "taskletStep_1"/>
</step>
</flow>
<flow>
<step id = "step_2">
<tasklet ref = "taskletStep_2"/>
</step>
</flow>
<flow>
<step id = "step_3">
<tasklet ref = "taskletStep_3"/>
</step>
</flow>
</split>
<step id = "step_4">
<tasklet ref = "taskletStep_3"/>
</step>
</job>
<job id = "job2">
<split id = "split_2" task-executor = "taskExecutor" next = "step_8">
<flow>
<step id = "step_5">
<tasklet ref = "taskletStep_4"/>
</step>
</flow>
<flow>
<step id = "step_6">
<tasklet ref = "taskletStep_5"/>
</step>
</flow>
<flow>
<step id = "step_7">
<tasklet ref = "taskletStep_6"/>
</step>
</flow>
</split>
<step id = "step_8">
<tasklet ref = "taskletStep_6"/>
</step>
</job>
Когда это с одной работой, это работает нормально. Когда я добавляю второе задание, первое задание работает нормально, но второе задание отображается:
INFO 40904 --- [nio-8181-exec-1] c.j.b.p.c.JobLauncherController : The Job must not be null.
Настройка Job Launcher выглядит так:
@RestController
public class JobLauncherController {
@Autowired
JobLauncher jobLauncher;
@Autowired
Job job;
Job job2;
@RequestMapping("/launchjob")
public String handle() throws Exception {
Logger logger = LoggerFactory.getLogger(this.getClass());
try {
JobParameters jobParameters = new JobParametersBuilder().addLong("time", System.currentTimeMillis())
.toJobParameters();
jobLauncher.run(job, jobParameters);
jobLauncher.run(job2, jobParameters);
} catch (Exception e) {
logger.info(e.getMessage());
}
return "Done";
}
}
Любые предложения, чтобы решить эту проблему? Не уверен, что мне не хватает.




Вы пропустили аннотацию @Autowired на job2.
@ravecoder Нет, но вы можете найти некоторые рекомендации здесь: stackoverflow.com/questions/45718888/…
Спасибо, что поделились Дэвидом. Цените помощь.
Это сработало - спасибо! По какой-то причине он выполняет задания последовательно. Вы знаете, как я могу заставить задания работать параллельно?