2015-09-24 3 views
2

Я пытаюсь выяснить, как установить неограниченное значение для skip-limit, при этом просто случайное определение очень большого целочисленного значения.Spring batch jsr 352 skip-limit Как получить неограниченное значение по умолчанию или установить неограниченное

В jsr 352 указано «По умолчанию нет предела». но я не знаю, как получить дефолт при фактическом определении исключаемого пропуска.

Я пробовал 0 и -1, но оба не смогли подтвердить положительное число, которое весенняя партия делает на шаге при создании задания. Если атрибут skip-limit не добавляется, если у вас есть исключение с возможностью пропуска, оно генерирует ошибку и не запускает задание.

Я неправильно истолковал, что спецификация говорит или является весенней партией, не реализующей jsr правильно в этом случае. На поверхности определенно видно, что предел пропуска должен иметь некоторые средства дефолта до неограниченного значения.

ответ

1

Из JSR:

пропустить предел: Указывает количество исключений шаг будет пропущен, если какие-либо настроенные пропускаемые исключения выбрасываются обработкой куска. Это должно быть допустимое целочисленное значение XML. Это необязательный атрибут. Значение по умолчанию не ограничено.

Если вы уважаете JSR весной, вы должны иметь такое поведение. если вы не будете следовать JSR, вы столкнетесь с BATCH-2443.

1

Вы могли бы сделать что-то вроде:

public class ItemSkipPolicy implements SkipPolicy { 

public boolean shouldSkip(final Throwable t, final int skipCount) throws SkipLimitExceededException { 
    return true; 
} 

и использовать политику пропуска вместо skipLimit

.faultTolerant().skipPolicy(new ItemSkipPolicy()).skip(RuntimeException.class) 

hopfully это помогает, если кто-то видит эту страницу

Смежные вопросы