Мне любопытно, можно ли определить Spring Batch Job иным способом, чем создание компонента методом. Можно ли определить пакетное задание, создав @Component, расширяющий Job, и используя внедренный JobBuilderFactory, чтобы создать экземпляр, чтобы избежать реализации всех необходимых методов своими руками?
@Component
public class ImportEmployeeJob extends FlowJob {
private final JobBuilderFactory jobBuilderFactory;
private final FlowStep printProcessedEmployeeFromCsv;
public ImportEmployeeJob(JobBuilderFactory jobBuilderFactory, FlowStep printProcessedEmployeeFromCsv, ApplicationContext context) {
this.jobBuilderFactory = jobBuilderFactory;
this.printProcessedEmployeeFromCsv = printProcessedEmployeeFromCsv;
jobBuilderFactory.get("importEmployeeJob")
.incrementer(new RunIdIncrementer())
.listener(new PersonCsvJobExecutionListener())
.flow(printProcessedEmployeeFromCsv)
.end()
.build();
}
}
Это маленький глупый пример, но я просто хочу показать вам, что я имею в виду