Мне нужно выполнить задание, состоящее из 3 шагов. Первый шаг получает данные из веб-службы. Второй шаг вызывает другую веб-службу для получения дополнительных данных. И третий шаг загружает изображения на основе данных, которые мы получили на первом шаге.
Теперь, что происходит внутри, не так важно. Но одно из требований состоит в том, что если один из шагов завершится неудачно, то все предыдущие работы также должны быть очищены. Например, если что-то не удается на втором этапе, все данные, полученные на первом этапе, также должны быть очищены. Потому что не может быть несогласованных данных.
Теперь я знаю, что это не предусмотрено в Spring Batch Job, но есть ли еще способ добиться этого? Может быть, использовать какой-нибудь JobExecutionListener или что-то в этом роде?
Или мне нужно объединить все эти шаги в один шаг?