在camunda中接收任务的边界上使用非中断中间消息捕获事件是一种好习惯

时间:2017-08-18 10:04:40

标签: camunda camunda-modeler

enter image description here

为什么我这样做:

使用这种方法的原因是因为我希望工作流在此节点等待,直到视频被完全复制,但同时我希望得到有关复制时所取得的进展百分比的通知每2秒从不同的应用程序发送。

面临的问题:

在执行工作流的过程中,当边界上的中间消息捕获事件没有被注册时,我在视频复制应用程序尝试关联边界上的消息事件时,主要是因为第一次回调而得到错误。

他们的其他方式也就像在camunda中制作一个简单的Loop来实现相同的行为 enter image description here

但是如果有人知道同样的问题,或者任何有更好方法的人可以帮助我,那么我的案例中的随机错误就是我的担忧。

1 个答案:

答案 0 :(得分:1)

具有非中断边界事件的方法是有效的,但可能有点冗长。我更喜欢它比任何循环结构,但你也想过"只是"从外部更新过程变量以指示状态?您不需要任何BPMN元素来允许此操作。例如,请参阅有关流程变量更新的REST API:https://docs.camunda.org/manual/7.7/reference/rest/process-instance/variables/put-variable/。 Java API也是如此。

  

在执行工作流的过程中,当边界上的中间消息捕获事件没有被注册时,我在视频复制应用程序尝试关联边界上的消息事件时,主要是因为第一次回调而得到错误。

这不应该发生,并且必须有一些你应该试图找出的理由。接收消息事件在Camunda本身中100%工作,因此您应该在发生这种情况时搜索提示,或者最好提取一个小测试用例来隔离问题。