2016-04-21 3 views
0

Когда задание перезагружается, снова запускаются только сбойные разделы. Как снова запустить успешно завершенную работу?JSR 352 Перезагрузка задания?

Есть ли разница между отправкой задания и повторным запуском задания?

Я использую внедрение IBM JSR 352 на Websphere Liberty.

+0

Это ответ на ваш вопрос? –

+0

да сделал! Я не могу ответить на ваш ответ, так как у меня нет достаточной репутации. Но спасибо вам большое :) –

+0

Нет проблем. Рад помочь, только упомянул upvote по другому вопросу, так как вы были новичком на сайте. (Я думаю, вы все равно можете принять ответ, хотя). –

ответ

3

Java Batch разработан так, что при перезапуске экземпляра задания выполнение продолжается там, где вы остановились (в предыдущем неудачном или остановленном исполнении).

Так обычно это означает две вещи:

  1. В работе, вы начинаете на этапе ранее неисправного (или шага, на котором была остановлена ​​работа).
  2. В этом шаге вы начинаете с позиционирования курсора ввода, используя значения контрольной точки, хранящиеся в контейнере партии.

Так, если на первом прогоне вы завершили шаг1 затем потерпел неудачу в step2 рекордными # 4123, и каждые 100 контрольной точки записи, то при перезапуске вы обычно начать выполнение в step2 в запись # 4100.

В некоторых случаях необходимо выполнить шаг1 на перезагрузке, а также перед выполнением step2 где ранее не удалась работа, и есть возможность получить такое поведение, как хорошо.

Характерно, чтобы отправить/начать работу повторно, часто по расписанию.

В условиях спецификации партии новый JobInstance создается каждый раз при запуске задания. В это время создается JobExecution для этого JobInstance. Если выполнение не выполняется до завершения, экземпляр может быть перезапущен, и в это время создается JobExecutionJobInstance.

Поэтому перезапуск использует контрольные точки и историю выполнения предыдущего JobExecution, а начало начинается с чистого листа.

Смежные вопросы