0

用户可能想要启动一个不再存在的任务。然后用户触发异常。

   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]
...

我该如何处理这些异常?我使用 JSF 表单的嵌入式 camunda 引擎。

4

1 回答 1

1

这并不是真正的 camunda 特定的。如果您的 UI 正在与可能失败或具有非法状态的系统通信,您必须在允许 UI 操作之前捕获异常并显示对最终用户有用的内容和/或检查前提条件(任务存在)。

在 camunda 的情况下,这可以通过使任务列表保持最新(服务器推送、自动更新)并在将其与 camunda cdi 上下文关联之前检查任务的存在来实现。

于 2015-05-12T08:23:14.910 回答