Вакансия не найдена в JobRegistry - PullRequest
0 голосов
/ 13 марта 2019

Я пытаюсь остановить выполнение пакета.Я пытался

jobExecution.stop();
jobRepository.update(jobExecution);

не влияет на работу.

Когда я пытался

jobOperator.stop(JOB_EXECUTION_ID);

, я получал NoSuchJobException.Я новичок в Spring Batch.Может кто-нибудь объяснить, почему я получаю NoSuchJobException?

После некоторой отладки я обнаружил, что Job не найден в JobRegistry.JobExplorer и JobRepository могут найти работу.Требуется ли какая-либо конкретная конфигурация для JobRegistry.

07:22:27.625  WARN o.s.b.c.l.s.SimpleJobOperator            : Cannot find Job object in the job registry. StoppableTasklet#stop() will not be called org.springframework.batch.core.launch.NoSuchJobException: No job configuration with the name [wf-demo-1552486941361] was registered
    at org.springframework.batch.core.configuration.support.MapJobRegistry.getJob(MapJobRegistry.java:66) ~[spring-batch-core-4.0.1.RELEASE.jar:4.0.1.RELEASE]
    at org.springframework.batch.core.launch.support.SimpleJobOperator.stop(SimpleJobOperator.java:403) ~[spring-batch-core-4.0.1.RELEASE.jar:4.0.1.RELEASE]

- это стек ошибок

1 Ответ

0 голосов
/ 13 марта 2019

Не используйте JobExecution.stop, оно будет удалено в следующей версии (см. BATCH-1987 ).

JobOperator#stop(jobExecutionId) - это путь.Ошибка NoSuchJobFoundException не является исключением Spring Batch, поэтому я не знаю, что это значит.Самое близкое исключение, о котором я могу подумать, это org.springframework.batch.core.launch.NoSuchJobExecutionException, который выдается оператором задания, если он не может найти выполнение с заданным идентификатором.Убедитесь, что вы передаете действительный идентификатор выполнения задания методу stop.

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