flowable 流程变量
阅读数:456 评论数:0
跳转到新版页面分类
python/Java
正文
一、流程变量写入方式
//声明一个JsonObject
JSONObject jsonObject = new JSONObject();
jsonObject.put("id", "1");
jsonObject.put("name", "zhangsan");
jsonObject.put("desc", "sssssssssssssss");
//将JsonObject放入map中
map.put("formData", jsonObject);
//将map作为参数传递
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(modelData.getKey(), "myTestFlow1", map);
Map<String, Object> map = new HashMap<>();
//声明一个JsonObject
JSONObject jsonObject = new JSONObject();
jsonObject.put("id", "2");
jsonObject.put("name", "zhangsan2");
jsonObject.put("desc", "dddddddddddddddddddd");
//将JsonObject放入map中
map.put("formData", jsonObject);
//声明局部变量
Map<String, Object> localMap = new HashMap<>();
localMap.put("num", 1);
localMap.put("string", "1");
//将map作为流程变量,localMap作为局部变量
taskService.complete(taskId, map, localMap);
Map<String, Object> map = new HashMap<>();
//声明一个JsonObject
JSONObject jsonObject = new JSONObject();
jsonObject.put("id", "2");
jsonObject.put("name", "zhangsan2");
jsonObject.put("desc", "dddddddddddddddddddd");
//将JsonObject放入map中
map.put("formData", jsonObject);
//声明局部变量
Map<String, Object> localMap = new HashMap<>();
localMap.put("num", 1);
localMap.put("string", "1");
//将map作为流程变量,localMap作为局部变量
taskService.setVariables(taskId, map);
taskService.setVariablesLocal(taskId, localMap);
二、流程变量的获取方式
//获得流程变量
Map<String, Object> execMap = runtimeService.getVariables(task.getExecutionId());
//获得局部变量
Map<String, Object> execLocalMap = runtimeService.getVariablesLocal(task.getExecutionId());
//获得流程变量
Map<String, Object> map = taskService.getVariables(taskId);
//获得局部变量
Map<String, Object> localMap = taskService.getVariablesLocal(taskId);
三、变量的存储
流程变量在数据库中存储方式,一般情况下一个流程变量会在act_ru_variable中存储为一行,如果格式为普通格式,就会在这张表中可见:
但是,当传入的参数为复杂类型时,比如上文中传入的jsonobject,这时流程变量会存储为二进制格式,通过BYTEARRAY_ID_字段关联存储至表act_ge_bytearray中,如下图:
相关推荐
Flowable是一个采用Java开发的业务流程引擎,通过Flowable流程引擎,我们可以部署BPMN2.0的流程定义(一般为XML文件),通过流程定义创建流程实例,查询和访问流程相关的实例与数据,
一、数据库表类别
flowable是基于Activiti开发的流程引擎,表名中ACT_就是基于Activiti的,而FLW_开头的,是特定于Flowable Work或Engage的数据库表。
一、配置
<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-spring-boot-starter</
一、使用文件流部署工作流
//resourceName是文件的全名称(包括文件后缀)
String resourceName = multipartFile.getOriginalFilename()
一、自定义扩展
标准通常是不同公司(不同观点)大量讨论与妥协的结果。作为阅读BPMN 2.0 XML流程定义的开发者,有时会觉得某些结构或方法十分笨重。Flowable将开发者的感受放在最高优先,因此
一、下载
从官网可以下载到flowable,其中有两个war包:flowable-ui.war和flowable-rest.war。
flowable-ui.wa
一、简介
如果需要人工执行的任务,就需要用到用户任务建模。
二、常用配置
1、执行人Assignments
(1)执行人类型:
Assignee
代理执行人,一般一个用户。
Candidat
通常我们会需要给任务运行表设置内容,因为默认启动任务或完成任务的操作时有些值为空,但我们需要给我们的字段设置值,我想给form_keys设置值,可以通过以下几种方式:
1、常用情况