Может случиться так, что пользователь хочет запустить задачу, которая больше не существует. Затем пользователь вызывает исключение.Как обрабатывать ProcessEngineCdiException «Не удается возобновить задачу с идентификатором ...»
ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/qed].[Faces Servlet]] (http-localhost/127.0.0.1:8080-5) JBWEB000236: Servlet.service() for servlet Faces Servlet threw exception: org.camunda.bpm.engine.cdi.ProcessEngineCdiException: Cannot resume task with id 'a4291177-f7ba-11e4-90b2-62ef20524153', no such task.
at org.camunda.bpm.engine.cdi.BusinessProcess.startTask(BusinessProcess.java:294) [camunda-engine-cdi-7.2.0.jar:7.2.0]
at org.camunda.bpm.engine.cdi.BusinessProcess.startTask(BusinessProcess.java:313) [camunda-engine-cdi-7.2.0.jar:7.2.0]
...
Как я могу справиться с этими исключениями? Я использую встроенный двигатель camunda с формами JSF.
ОК. Я проверяю, прежде чем начать задание, если оно существует. На самом деле ясно. Какой самый дешевый метод? 'taskService.createTaskQuery(). taskId (taskId) .singleResult()! = null' – jklee
Да, это то, что я использовал. –
Я создаю обертку для 'businessProcess.startTask (taskId, beginConversation)' и проверю перед этим запросом. Спасибо за помощь. – jklee