当前位置: 首页 > article >正文

jd-easyflow中inclusive的用法

在jd-easyflow中,inclusive通常与流程中的条件分支(conditions)配置相关,用于控制多个条件分支的执行逻辑。当conditionType设置为inclusive时,表示多个条件分支中的所有条件都会被评估,而不是像exclusive那样,一旦某个条件满足就终止评估。

以下是如何在jd-easyflow的JSON流程文件中定义使用inclusive的事件触发机制的示例:

  1. 定义条件分支
    post配置中,使用conditions字段来定义多个条件分支。每个条件分支包含when(条件表达式)和to(满足条件时跳转到的节点)。

  2. 设置inclusive模式
    conditions字段中,可以设置conditionTypeinclusive,这样所有的条件都会被评估。

  3. 配置默认分支
    如果没有任何条件满足,可以使用defaultTo字段指定默认的分支。

以下是一个具体的JSON流程文件示例,展示了如何使用inclusive

{
  "id": "flow_with_inclusive",
  "name": "Flow with Inclusive Conditions",
  "nodes": [
    {
      "id": "start_node",
      "name": "Start Node",
      "action": {
        "createExp": "new com.example.StartNodeAction()"
      },
      "start": true,
      "post": {
        "to": "decision_node"
      }
    },
    {
      "id": "decision_node",
      "name": "Decision Node",
      "post": {
        "conditions": [
          {
            "when": "${condition1}",
            "to": "node1"
          },
          {
            "when": "${condition2}",
            "to": "node2"
          }
        ],
        "conditionType": "inclusive",
        "defaultTo": "default_node"
      }
    },
    {
      "id": "node1",
      "name": "Node 1",
      "action": {
        "createExp": "new com.example.Node1Action()"
      },
      "post": {
        "to": "end_node"
      }
    },
    {
      "id": "node2",
      "name": "Node 2",
      "action": {
        "createExp": "new com.example.Node2Action()"
      },
      "post": {
        "to": "end_node"
      }
    },
    {
      "id": "default_node",
      "name": "Default Node",
      "action": {
        "createExp": "new com.example.DefaultNodeAction()"
      },
      "post": {
        "to": "end_node"
      }
    },
    {
      "id": "end_node",
      "name": "End Node",
      "action": {
        "createExp": "new com.example.EndNodeAction()"
      }
    }
  ]
}

在这个示例中,decision_node是一个决策节点,它有两个条件分支,都设置为inclusive模式。这意味着流程引擎会评估condition1condition2,如果它们都满足,那么流程可以同时进入node1node2。如果没有条件满足,流程将进入default_node。这种配置允许更复杂的流程控制逻辑,使得流程可以根据多个条件动态地分支到不同的节点。

以上是如何在jd-easyflow中使用inclusive的详细说明和示例。


http://www.kler.cn/a/403665.html

相关文章:

  • 蓝牙 Mesh 简单使用☞北
  • 使用docker快速部署Nginx、Redis、MySQL、Tomcat以及制作镜像
  • Redis基本的全局命令
  • 3-22 ElementPlus:表单
  • iOS应用网络安全之HTTPS
  • Oracle 19C 安装RAC磁盘投票失败
  • C++基础入门篇
  • Dowex 50WX8 ion-exchange resin可以用于去除水中的金属离子(如钠、钾、镁、钙等)和其他杂质,提高水质,11119-67-8
  • ubuntu没有了有线网络如何修复
  • 15. 函数参数传递机制
  • syslog udp配置笔记
  • centos7.4+ 卸载jdk8 mysql5.7 安装openjdk11 mysql8
  • 白光干涉仪助力手机玻璃盖板品质提升
  • 基于MATLAB的相机内参标定及其原理——附实现教程
  • 【C++】栈、队列、双端队列与优先级队列
  • Nginx: 实现Websocket代理
  • python基础知识(七)——写入excel
  • Python | Leetcode Python题解之第564题数组嵌套
  • vue3 element el-table实现表格动态增加/删除/编辑表格行,带有校验规则
  • 吉林大学 超星慕课 高级语言程序设计 学习通部分题目极其答案
  • docker学习笔记跟常用命令总结
  • Docker和VMWare有什么不同
  • vue使用List.forEach遍历集合元素
  • Word_小问题解决_1
  • 「Mac玩转仓颉内测版21」基础篇1 - 仓颉程序的基本组成
  • 构建nginx1.26.1轻量级Docker镜像添加第三方模块nginx_upstream_check_module