Можно ли запустить задание Spring Batch внутри другого задания?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Можно ли запустить задание Spring Batch внутри другого задания?

Сообщение Anonymous »

У меня есть проект Spring, в котором задания определяются через XML-файлы. Мне нужно изменить задание А так, чтобы в определенный момент при выполнении определенного условия выполнялись все шаги другого задания Б.
Я попробовал напрямую связать задание Б с заданием А. в XML, но это не сработало. Я также попробовал сделать это в Java-коде, создав в задании A тасклет, отвечающий за запуск задания B, но это привело к ошибке. Насколько я понимаю, Spring не позволяет запущенному заданию запускать другое задание.
Есть ли способ добиться желаемого поведения, или мне нужно реплицировать все тасклеты из задания B в XML-файле для задания А?
Я пытался сделать что-то вроде этого.

Код: Выделить всё

@Component
public class TaskletInsertedIntoJobA implements Tasklet {
private final JobLauncher jobLauncher;

private final Job secondaryJob;

public TaskletInsertedIntoJobA(
JobLauncher jobLauncher, @Qualifier("jobB") Job secondaryJob) {
this.jobLauncher = jobLauncher;
this.secondaryJob = secondaryJob;
}

@Override
public RepeatStatus execute(StepContribution contribution,
ChunkContext chunkContext) throws Exception {
JobParameters jobParameters = new JobParametersBuilder();

// Logic for setting job parameters

// Run job B
JobExecution jobExecution = jobLauncher.run(secondaryJob, jobParameters);

if (jobExecution.getStatus().isUnsuccessful()) {
throw new RuntimeException("Secondary job failed!");
}

return RepeatStatus.FINISHED;
}
}
По окончании задания Б, конечно, задание А должно продолжить выполнение оставшихся шагов.


Подробнее здесь: https://stackoverflow.com/questions/790 ... nother-job
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»