Skip to content
广告❤️成为赞助商

流程数据传输

流程执行中需要传递 临时变量 任务变量 实例变量(全局变量) 用于判断执行路径。

传输流程图

数据传输分为 特殊变量传输流程变量传输 两种流程图如下。

流程变量传输

实例任务变量通过相关方法 args 参数传递,该参数以 json字符串 的格式存放到表 flw_task flw_his_task flw_instance flw_his_instance 中的 variable 字段。

提示!

任务 flw_task flw_his_task 为局部变量,实例 flw_instance flw_his_instance 为全局变量。

特殊变量传输

特殊变量传输,是流程执行节点的操作,主要实现类 FlowDataTransfer 静态方法定义操作方法。 用于在流程引擎内部无方法参数形式传递执行变量,基于 ThreadLocal 实现参数传递。

  • 案例:查看测试用例 TestModel.testDynamicAssignee() 传输动态节点处理人
java
FlowDataTransfer.dynamicAssignee(new HashMap<String, Object>() {{
    // 节点动态分配处理人
    put(nodeName, DynamicAssignee.assigneeUserList(assigneeList));
}});
  • 可用在业务中处理跨方法同一个线程的参数传递
java
// 设置参数
FlowDataTransfer.put("参数", 变量对象);

// 获取变量
Object value = FlowDataTransfer.get("参数")

提示!

动态分配处理人,可用在发起流程的时候动态分配。 数据传输在不破坏现有现有接口及跨方法传输的情况下是非常完美有效的传参方式。

更适合中国人的工作流引擎