У нас есть пакетное приложение jsr 352 java, которое мы хотим остановить выполнение досрочно, если условие выполнено, но не выдает исключение. Базовая схема c нашей работы выглядит следующим образом:
<job id=XXX>
<step id="XXX">
<listeners>
<listener ref=XXXXX /> <--Step listener
<listener ref=XXXX /> <-- Item process listener
</listeners>
<chunk checkpoint-policy="item" item-count="1">
<reader ref=XXXXXX />
<processor ref=XXXXXX />
<writer ref=XXXXXX />
</chunk>
</step>
</job>
Во время нашего приемника шагов, в методе beforeStep (), если выполняется указанное условие c, мы не хотим продолжать Остальная часть пакетной работы, мы просто хотим изящно остановиться. До сих пор единственное, что могло бы завершить пакетное задание, - это возникновение исключения для сценария ошибки или успешного завершения задания.
Как бы мы выполнили sh, пропуская оставшуюся часть шага , поскольку это единственный шаг, если это условие выполняется внутри слушателя шага? Кроме того, является ли исключение рекомендуемым способом завершения пакетного процесса во время сценария ошибки, или есть лучший / более рекомендуемый способ?