在zeebeModeler 中创建工作流程(中)

在zeebeModeler 中创建工作流程(中)

接下来,我们将Message Event添加到工作流中:

  1. 单击建模器上的“启动付款”任务
  2. 选择带有双线边框的圆形图标
  3. 单击新创建的事件旁边的扳手图标
  4. 选择消息中间捕获事件
  5. 双击消息事件并将其标记为“已收付款”

讯息事件

当工作流引擎需要在工作流实例可以前进之前从外部系统接收消息时,我们在Zeebe中使用消息捕获事件。(请参阅:消息事件)

在我们正在建模的场景中,我们使用服务任务启动付款,但是我们需要等待其他外部系统实际确认已收到付款。该确认以消息的形式出现,该消息将由外部服务异步发送给Zeebe。

Zeebe收到的消息需要与特定的工作流实例相关联。为了实现这一点,我们需要做更多的配置:

  1. 选择消息事件,并确保您位于屏幕右侧的“属性”面板的“常规”选项卡上
  2. 在“属性”面板中,单击+图标以创建新消息。现在,您将在Modeler中看到两个字段,用于将消息与特定的工作流程实例相关联:消息名称和订阅相关密钥。
  3. 让我们给此消息起一个不言自明的名称:payment-received。

 

添加消息名称

Zeebe收到消息时,此名称字段使我们知道消息所引用的工作流模型中的哪个消息事件。

但是我们如何知道一条消息指的是哪个特定的工作流程实例(即哪个客户订单)?这就是订阅相关密钥的来源。订阅相关密钥是工作流实例有效负载和发送给Zeebe的消息中都存在的唯一ID。

我们将使用orderId我们的关联密钥。

继续,并将表达式添加= orderId到“订阅相关密钥”字段。

创建工作流实例时,需要确保将其包括orderId为变量,并且orderId在发送消息时还需要提供相关键。

这是您在Modeler中应该看到的内容:

消息关联密钥

 

 

接下来,我们将向我们的工作流模型添加一个独占(XOR)网关。专用网关用于对工作流实例应遵循的路径做出基于数据的决策。在这种情况下,如果总订单价值大于或等于$ 100 ,我们想带保险运送物品,否则不带保险运送。

这意味着,当我们创建工作流实例时,需要将订单值作为实例变量包括在内。但是我们稍后再讨论。

 

相关教程