Настройте логику повтора, пропуска и отката на сбой для всех исключений чтения, никогда не выполняйте откат и пропускайте определенные исключения процессора

#spring #spring-boot #spring-batch

Вопрос:

Я хочу сделать шаг, который:

  1. Не удается выполнить шаг/задание при любом исключении в программе чтения
  2. Пропускает определенные исключения во время обработки и записи
  3. Никогда не откатывает исключение в считывателе, процессоре или устройстве записи

Как я мог бы добиться такой конфигурации?

Предполагая, что моя пользовательская политика пропуска по сути является классификатором исключений, который указывает, что определенные исключения должны быть пропущены, например MySkippableException ,

 step.faultTolerant()  .noRollback(Exception.class)  .skipPolicy(new MyCustomSkipPolicy())  .retryPolicy(new NeverRetryPolicy())  

Это, однако, приводит к молчаливым сбоям в работе читателя, среди прочего.