这三个内置的变量可以再定义流程时起到很大的作用!在表达式上的用法比较广!
变量名称 | 描述 |
execution | 此变量在运行阶段可以调用,对应接口:org.activiti.engine.delegate.DelegateExecution, 可以获取流程实例的变量,包含了一些执行期的信息项,例如流程实例ID、业务ID (businessKey 如果在启动流程时指定了就可以获取) 、当前节点等信息,另外在5.11版本中还可以直接获取引擎的7个Service接口 如果在流程定义中添加了执行监听器(实现ExecutionListener接口)或者为某个活动添加了Delegate (实现JavaDelegate接口).那么接口将提供一个DelegateExecution的对象作为参数 |
task | 相对于execution来说task变量的作用域就比较小了,execuuon可以在整个运 行期的所有活动上使用.但是task(DelegateTask接口)仅仅支持用户任务(User Task),而且限定为expression类型的表达式。所以通过此变量可以设置或者读取任 务相关的变量,设置任务办理人或者候选人等,基本涵盖了用户任务相关的所有属 性以及特性。 例如.下户面的配置可以在一个用任务创建时执行一个表达式,并在执行时把 DelegateTask的对象传给被调用对象的方法: <userTask id="xx" name="xx" > <extensionElements> <activiti:taskListener event="create" expression="${myBean.invokeTask(task)}" > </userTask> |
authenticatedUserld | 此变量仅在启动流程实例前调用IdentityService的setAuthenticatedUserId()方 法时才会由引擎提供,获取的方式很简单,执行S{authenticatedUserld}即可 |