Activity的UEL 表达式

本文深入探讨了Activiti工作流引擎中UEL表达式的应用,包括UEL-value和UEL-method的概念,以及如何在流程变量和Spring容器bean中使用这些表达式。同时,文章还强调了在任务执行过程中正确设置流程变量的重要性。
摘要由CSDN通过智能技术生成

Activiti 使用 UEL 表达式,UEL 是 java EE6 规范的一部分,UEL(Unified Expression Language)即统一表达式语言,activiti 支持两个 UEL 表达式:UEL-value 和 UEL-method。
UEL-value
在这里插入图片描述
在这里插入图片描述
user 也是 activiti 的一个流程变量,user.assignee 表示通过调用 user 的 getter 方法获取值。

UEL-value
在这里插入图片描述
userBean 是 spring 容器中的一个 bean,表示调用该 bean 的 getUserId()方法。

UEL-method 与 UEL-value 结合
${ldapService.findManagerForEmployee(emp)}
ldapService 是 spring 容器的一个 bean,findManagerForEmployee 是该 bean 的一个方法,emp 是 activiti
流程变量,emp 作为参数传到 ldapService.findManagerForEmployee 方法中。
使用方式
在这里插入图片描述

//启动流程实例时设计流程变量
//定义流程变量
Map<String, Object> variables = new HashMap<String, Object>();
//设置流程变量assignee
variables.put("assignee", "张三");
ProcessInstance processInstance = runtimeService
.startProcessInstanceByKey(processDefinitionKey, variables);

注意事项
由于使用了表达式分配,必须保证在任务执行过程表达式执行成功,比如:
某个任务使用了表达式${order.price > 100 && order.price < 250},当执行该任务时必须保证 order 在
流程变量中存在,否则 activiti 异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值