Flowable 用户任务UserTask
阅读数:364 评论数:0
跳转到新版页面分类
python/Java
正文
一、简介
如果需要人工执行的任务,就需要用到用户任务建模。
二、常用配置
(1)执行人类型:
Assignee | 代理执行人,一般一个用户。 |
CandidateUser | 候选执行人,一般有多个用户。 |
CandidateGroup | 候选用户组,一般绑定到角色,支持多个用户进行操作。 |
(2)flowable-ui中modeler配置
(1)监听器类型:
create | 任务创建时,并且所有的属性都被设置好后,进入该回调。 |
assignment | 任务被委派给某人后。注意,当流程执行到达一个userTask时,会先触发一个assignment事件,再触发create事件。 |
complete | 在任务完成后,且被从运行时数据中删除前触发。 |
delete | 在任务将被删除之前发生。注意,当任务通过completeTask完成任务时,它也会被执行。 |
(2)监听器class:
回调的委托类,需要实现org.flowable.engine.delegate.TaskListener接口。
public class CommonUserStartListener implements TaskListener {
/**
* 日志类
*/
private static final Logger log = LoggerFactory.getLogger(CommonUserStartListener.class);
@Override
public void notify(DelegateTask delegateTask) {
log.warn("进入通用用户任务启动监听器");
//查询信息
log.info("任务执行人:"+delegateTask.getAssignee());
log.info("任务配置ID: " +delegateTask.getTaskDefinitionKey());
//查询变量
Set<String> setNames= delegateTask.getVariableNames();
if (!CollectionUtils.isEmpty(setNames)){
log.info("任务变量:"+setNames.toString());
}
for (String varName :setNames){
Object varValue= delegateTask.getVariable(varName);
log.info("变量名:"+varName+" 变量值:"+ JSON.toJSONString(varValue));
}
//修改变量
delegateTask.setVariable("Test_Var","测试变量");
log.warn("退出通用用户任务启动监听器");
}
}
(3)modeler配置:
相关推荐
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
通常我们会需要给任务运行表设置内容,因为默认启动任务或完成任务的操作时有些值为空,但我们需要给我们的字段设置值,我想给form_keys设置值,可以通过以下几种方式:
1、常用情况
一、流程变量写入方式
1、启动流程时
//声明一个JsonObject
JSONObject jsonObject = new JSONObject();
jsonObject.put("id", "