接上一篇文章:Camunda快速入门(三):设计一个人工任务流程并配置表单
在本节中,您将学习如何使用 BPMN 2.0 排他网关(Exclusive Gateways)使流程更加动态。
1、添加两个网关
我们想修改我们的流程,使其更具动态性。
为此,请在 Camunda Modeler 中打开该过程。
接下来,从 Modeler 的左侧菜单中,选择网关形状(菱形)并将其拖动到“开始事件”和“服务任务”之间的位置。根据需要再次使用创建空间工具。向下移动用户任务,并在其后添加另一个网关。最后,调整序列流,使模型如下所示:
现在也相应地命名新元素:
2、配置网关路由条件
接下来,打开属性面板,在画布上选择select the <1000 € 网关之后的序列流。这将更新属性面板中的选择。滚动到名为Condition的属性,并将其更改为Expression。然后输入 ${amount<1000}作为表达式。我们正在使用 Java 统一表达式语言( Java Unified Expression Language)来评估网关。
接下来,也更改其他序列流的表达式。
对于 >=1000 € 序列流,请使用表达式: ${amount>=1000}
对于Yes序列流,请使用表达式: ${approved}
对于No序列流,请使用表达式: ${!approved}
3、部署网关流程
流程设计完成后,使用 Camunda Modeler 中的Deploy按钮将更新的流程部署到 Camunda,记得要附加表单模型一起发布。
4、处理任务,验证网关
转到任务列表 (http://localhost:8080/camunda/app/tasklist/) 并使用凭据“demo / demo”登录。点击 启动过程按钮启动付款检索流程的流程实例。接下来,使用表单为流程实例设置变量,正如我们在“用户任务”部分中所了解的那样。
填写屏幕截图中所示的表单,并确保使用大于或等于 1000 的金额,以便查看用户任务批准付款。完成后,单击“开始”。
单击“所有任务”时,您应该会看到“Approve Payment(批准付款)”任务。
在本快速入门中,我们以管理员用户身份登录 Tasklist,因此我们可以看到与流程关联的所有任务。但是,可以在任务列表中创建筛选器,以确定哪些用户可以根据用户授权以及其他条件查看哪些任务。
要处理该任务,请选择“表单”选项卡并选中“已批准”复选框,以便我们的付款检索获得批准。我们应该看到我们的工作线程将某些内容打印到控制台。
您可以重复相同的步骤,创建一个数量小于 1000 的实例,以确认第一个网关是否正常工作。
5、源码和文档
在线体验系统:http://www.yunchengxc.com
源代码下载:https://github.com/camunda/camunda-get-started-quickstart/archive/Step-4.zip
官方文档地址:https://docs.camunda.org/get-started/quick-start/gateway/
接下来,让我们看一下如何将业务规则添加到流程中,使用决策自动化执行流程,初步了解camunda规则引擎的使用,DMN决策表的基本配置。