exception - 如何处理jbpm工作流程中的错误或异常

标签 exception error-handling workflow jbpm bpmn

我正在开发一个jbpm流程,如下所示-

start---->ServiceTask1---output-->ServiceTask2-----output--->ServiceTask3-->end



并且想要记录异常或错误(如果它发生在1、2或3的任何服务任务中)(在workitemhandler内部)。但是不知道如何在jbpm中处理异常或错误。

因此,是否有任何小的工作示例或链接显示了如何处理jbpm工作流中的错误或异常。(请不要建议我已经访问过的jbpm-examples链接存在很多流程,因此无法获得清晰的图片)

感谢您的帮助。

最佳答案

这个问题也发布在google groups
在那里,有一个答案,并被接受。

在下面可以找到该帖子的摘录(带有工作链接):
“通常,您有两种选择:

  • 在您的工作项处理程序中包括错误处理,定义处理异常所需的一切
  • 利用错误捕获事件(包括事件子流程)来处理流程定义中的异常。

  • 第一种选择非常接近常规编程实践,因为它需要您在代码级处理异常。通常适合于处理技术异常,而不是业务逻辑错误。对于业务逻辑错误,更适合的是流程中的错误捕获事件-附加到给定服务任务的边界错误事件或带有将处理错误的启动错误事件的事件子流程。

    在这里,您可以找到第二种方法的示例,其中我们称Web服务终结点并处理错误(如果有):
  • 流程定义:https://github.com/kiegroup/jbpm/blob/6.5.x/jbpm-workitems/src/test/resources/BPMN2-JaxWSServiceTaskWithErrorBoundaryEvent.bpmn2
  • 测试用例:https://github.com/kiegroup/jbpm/blob/6.5.x/jbpm-workitems/src/test/java/org/jbpm/process/workitem/bpmn2/JaxWSServiceTaskTest.java

  • 从我这边,我要补充一点,关于here中的自定义流程节点中的错误处理的另一篇好文章。

    而且,如果有人遵循jBPM的最新功能:“版本7.1中引入了可配置的错误处理,它将负责捕获在整个流程引擎执行过程中(包括任务服务)抛出的任何技术错误。” here中的更多信息。

    关于exception - 如何处理jbpm工作流程中的错误或异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36003294/

    相关文章:

    java - 正则表达式有异常(exception)

    java - 当我在 Android Studio 的菜单中说添加地点时,它有时会打开 map ,有时应用程序会在不打开的情况下关闭

    django - Django表单集无效

    git - 寻找有关 git 网站存储库/分支结构的建议

    workflow - 需要 drools 工作流程示例和教程 Material

    swift - “ fatal error :在展开可选值时意外发现nil”是什么意思?

    java - 我们可以在 Java 中捕获错误吗?

    haskell - 在递归函数内使用 'Either' 进行错误处理

    javascript - 如何向 YouTrack 工作流程中的某些操作添加基于组或角色的限制?

    java - 抛出带有内部检查异常的运行时异常是不好的做法吗?