Как контрольные точки jsr 352 работают в сценарии сбоя / отката?
Можно использовать "контрольную точку" в "itemReader" и "itemWriter".
Если я определяю коммит каждые 10 элементов, пакет считывает 10 элементов и вызывает код "itemWriter". Теперь, если "itemWriter" не удается (откат по базе данных), у меня есть:
- контрольная информация для "itemReader" = 10
- контрольная информация для "itemWriter" = 0
Поэтому, когда я перезапускаю партию, мне бы хотелось, чтобы она перезапускалась с 1-го пункта, а не с 11-го.
Как я могу это сделать? Я думаю, что "информация о контрольных точках" не идентичны для "itemReader" и "itemWriter".
1 ответ
Если я правильно интерпретирую ваш вопрос, ответ таков: откат транзакции чанка также приведет к откату обновления контрольной точки считывателя.
Таким образом, при перезапуске читатель снова будет (пере) позиционирован на 1-й позиции.