Spring Batch JobOperator.restart запускает новый экземпляр задания и не возобновляет работу с последнего чанка, а только с последнего шага - PullRequest
0 голосов
/ 26 февраля 2020
  jobOperator.restart(JobExecutionId) 

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

Мой ридер - это пользовательский RestReader, который сначала считает общее количество элементов для обработки, а затем читает это точное число из API. Я использую аннотацию @StepScope, потому что мне нужны пользовательские переменные в пользовательском считывателе

Функция перезапуска Spring Batch не работает при использовании @ StepScope .

Возможно ли возобновить работу с последнего записанного чанка или проблема в моем обычном считывателе?

1 Ответ

0 голосов
/ 27 февраля 2020

Ваш RestReader должен реализовать ItemStream . Это контракт, который должны выполнять читатели с отслеживанием состояния. Метод ItemStream#update будет вызываться на границах фрагментов для сохранения любых контекстных данных, необходимых для перезапуска с последней контрольной точки в случае сбоя.

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