У меня в пакетной конфигурации Spring реализовано следующее пакетное задание:
@Bean
public Job myJob(Step step1, Step step2, Step step3) {
return jobs.get("myJob").start(step1).next(step2).next(step3).build();
}
@Bean
public Step step1(ItemReader<String> myReader,
ItemProcessor<String, String> myProcessor,
ItemWriter<String> myWriter) {
return steps.get("step1").<String, String>chunk(1)
.reader(myReader)
.processor(myProcessor)
.writer(myWriter)
.build();
}
Я хотел бы повторить шаг 1 (также шаг 2 и шаг 3 и т. Д.) Для определенного исключения и откатить задание в случае любого сбоя (такжемежду попытками).Я понимаю, что откат не будет автоматическим, и мне ясно, что откатывать для каждого шага с написанием пользовательского кода.
Каков наилучший способ реализовать это?