Несколько заданий в весеннем пакете не работают с настройкой XML - PullRequest
0 голосов
/ 11 марта 2019

У меня настроена весенняя партия, и я пытаюсь запустить два задания параллельно.У меня одна работа работает нормально, но при добавлении второй работы она перестает работать.Настройка задания выглядит следующим образом:

<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.

Настройка средства запуска заданий выглядит следующим образом:

@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";
    }
}

Есть предложения по решению этой проблемы?Не уверен, что мне не хватает.

1 Ответ

0 голосов
/ 11 марта 2019

Вам не хватает аннотации @Autowired на job2.

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