Activiti工作流之个人任务分配模式
1.固定分配
在进行业务流程建模时指定固定的任务负责人。
在 properties 视图中,填写 Assignee 项为任务负责人
由于固定分配方式,任务只管一步一步执行任务,执行到每一个任务将按照 bpmn 的配置去分配任务负责人。
2.表达式分配
(1)UEL表达式
Activiti 使用 UEL 表达式,UEL 是 java EE6 规范的一部分,UEL(Unified Expression Language)即统一表达式语言,activiti 支持两个 UEL 表达式:UEL-value 和 UEL-method。
UEL-value定义如下:
assignee这个变量是activiti的一个流程变量
holiday 也是 activiti 的一个流程变量。holiday.assignee 表示通过调用 user 的 getter 方法获取值。
(2)使用流程变量分配任务
/*** 启动流程实例,动态设置assignee*/
public class AssigneeUEL {
public static void main(String[] args) {//1.得到ProcessEngine对象ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
//2.得到RuntimeService对象RuntimeService runtimeService = processEngine.getRuntimeService();
//3.设置assignee的取值 用户可以在界面上设置流程的执行人Map<String,Object> map = new HashMap<>();map.put("assignee0","张三丰");map.put("assignee1","张无忌");map.put("assignee2","金毛狮王");
//4.启动流程实例,同时还要设置流程定义的assignee的值ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("holiday3", map);
//5.输出System.out.println(processEngine.getName());
}
}
(3)注意事项
由于使用了表达式分配,必须保证在任务执行过程表达式执行成功,比如:
某个任务使用了表达式${order.price > 100 && order.price < 250},当执行该任务时必须保证 order 在流程变量中存在,否则 activiti 异常。
3.监听器分配
任务监听器是发生对应的任务相关事件时执行自定义 java 逻辑 或表达式。
任务相当事件包括:
Create:任务创建后触发 Assignment:任务分配后触发 Delete:任务完成后触发 All:所有事件发生都触发
定义任务监听类,且类必须实现 org.activiti.engine.delegate.TaskListener 接口
public class MyTaskListener implements TaskListener { @Overridepublic void notify(DelegateTask delegateTask) { //这里指定任务负责人 delegateTask.setAssignee("张三");}
}
Activiti工作流之个人任务分配模式相关推荐
- activiti工作流连接mysql_Activiti工作流 安装myeclipse activiti设计插件并生成数据库表...
从零开始学习Activiti工作流,记录下学习过程. 关于工作流的简介没什么好介绍了,只能说是个很有用的东西,数据库中23张表分别有什么用网上也有很详细的介绍,这里也不多加说明.activiti开发中 ...
- Activiti工作流从入门到入土:工作流简介
文章源码托管:https://github.com/OUYANGSIHAI/Activiti-learninig 欢迎 star !!! 一.activiti介绍 Activiti5是由Alfresc ...
- activiti工作流引擎入门教程
activiti简介 Activiti项目是一项新的基于Apache许可的开源BPM平台,从基础开始构建,旨在提供支持新的BPMN 2.0标准. Activiti是一种轻量级,可嵌入的BPM引擎,而且 ...
- activiti 工作流_springboot+activiti+angular 集成activiti工作流实现,源码分享
springboot+activiti+angular 这是spring boot框架集成activiti工作流实现,采用目前流行的restful api接口调用,前端使用angular js框架实现 ...
- 【青铜打铁篇】Activiti 工作流从入门到入土?
点击上方"好好学java",选择"置顶"公众号 重磅资源.干货,第一时间送达 重磅推荐 ① 纯福利 | 公众号资源大汇总,一年才一次! ② 重磅!!2018年J ...
- Activiti工作流从入门到入土:完整Hello World大比拼(Activiti工作流 API结合实例讲解)
文章源码托管:https://github.com/OUYANGSIHAI/Activiti-learninig 欢迎 star !!! 本来想着闲来无事,前面在项目中刚刚用到了工作流 Activit ...
- Activiti工作流之实现一个简单的流程审批
该代码在上一篇博客的基础上开发. Activiti工作流入门 1.绘制bpmn流程图 在resources目录下新建一个diagram文件夹来存放我们绘制的bpmn流程图 由于我的IDEA中已经安装了 ...
- Activiti工作流引擎使用
Activiti工作流引擎使用 1.简单介工作流引擎与Activiti 对于工作流引擎的解释请参考百度百科:工作流引擎 1.1 我与工作流引擎 在第一家公司工作的时候主要任务就是开发OA系统,当然基本 ...
- activiti 工作流_一文让你读懂什么是Activiti工作流
Activiti工作流学习经验总结(一) 什么是工作流? 工作流指通过计算机对业务流程进行自动化管理,实现多个参与者按照预定义的流程去自动执行业务流程. 什么是Activiti? Activiti 是 ...
最新文章
- 用tcpdump查看端口包
- spring报错NoClassDefFoundError等与第三方jar包导入问题
- 成功解决To fix this you could try to: 1. loosen the range of package versions you‘ve specified ​​​​​​​
- 「后端小伙伴来学前端了」Vue中利用全局事件总线实现组件之间通信
- 海南橡胶机器人成本_完成专利授权20余件!海南橡胶中橡科技搭建高标准研发平台...
- powerbuilder中实现多线程同步查询_Power Query中的“追加查询”可以实现合并多个工作表和工作簿...
- powerbi使用说明_PowerBI-Cli 工具使用指南
- 使用.NET Core创建Windows服务 - 使用.NET Core工作器方式
- frontcon函数用不了_真香警告!用了XLOOKUP再也回不去VLOOKUP了
- RobotStudio Smart组件创建动态夹具
- 学习Haskell的一些资料
- 使用Eclipse编写Processing小程序
- 如何下载互联网上的所有网页
- 基于海量特征向量数据搜索引擎(达到毫秒级)
- windows-由于系统的默认编码不一致导致解压后的文件名显示乱码
- php抽奖中了奖品后怎么处理,抽奖程序,求思路.该怎么处理
- xlsxwriter去掉网格线_xlsxwriter图表网格间距
- 蔡勒(Zeller)公式及其推导:快速将任意日期转换为星期数
- html 怎么获取焦点的位置,jQuery怎么获取焦点?
- EtherCAT运动控制器在数控加工手轮随动中的应用之C++