Как контрольные точки jsr 352 работают в сценарии сбоя / отката?

Можно использовать "контрольную точку" в "itemReader" и "itemWriter".

Если я определяю коммит каждые 10 элементов, пакет считывает 10 элементов и вызывает код "itemWriter". Теперь, если "itemWriter" не удается (откат по базе данных), у меня есть:

  • контрольная информация для "itemReader" = 10
  • контрольная информация для "itemWriter" = 0

Поэтому, когда я перезапускаю партию, мне бы хотелось, чтобы она перезапускалась с 1-го пункта, а не с 11-го.

Как я могу это сделать? Я думаю, что "информация о контрольных точках" не идентичны для "itemReader" и "itemWriter".

1 ответ

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

Таким образом, при перезапуске читатель снова будет (пере) позиционирован на 1-й позиции.

Другие вопросы по тегам