Исключение, которое завершает пакет, но без отката - PullRequest
0 голосов
/ 20 декабря 2018

Мне нужно вставить запись в таблицу, а затем завершить пакет с исключением, не вызывая откат вставки.

Я использовал, но он не завершает пакет

Ответы [ 2 ]

0 голосов
/ 20 декабря 2018

Я использовал это:

<batch:step id="id">
        <batch:tasklet>
            <batch:chunk reader="reader" processor="processor" writer="writer" commit-interval="1">
            </batch:chunk>
            <batch:no-rollback-exception-classes>
                 <batch:include class="com.exception.myException"></batch:include>
            </batch:no-rollback-exception-classes>
        </batch:tasklet>
    </batch:step>

это позволяет только избежать отката, но не завершить пакет.Я хочу завершить пакет после выполнения myException.

myException запущен в процессоре

0 голосов
/ 20 декабря 2018

Вы можете использовать отказоустойчивый шаг и установить исключения, которые не должны вызывать откат, используя FaultTolerantStepBuilder # noRollback .

Затем вы можете использовать прослушиватель (ItemProcessListener или ItemWriteListener в зависимости от того, куда выдается исключение) для перехвата исключения и завершения шага (и окружающего его задания) с помощью StepExecution # setTerminateOnly .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...