Activiti 使用 UEL 表达式,UEL 是 java EE6 规范的一部分,UEL(Unified Expression Language)即统一表达式语言,activiti 支持两个 UEL 表达式:UEL-value 和 UEL-method。
UEL-value 定义如下:

UEL-method 方式如下:

holidayBean是 spring 容器的一个 bean,getHolidayId 是该 bean 的一个方法.
//启动一个流程实例
public void startProcess(ProcessEngine processEngine){
Map<String,Object> map=new HashMap<>();
//使用UEL 表达式设置总经理为tom
map.put("leavePerson","lucy");//填写请假申请表 Assignee:${leavePerson}
map.put("departmentManager","jack");//部门主管审批 Assignee:${departmentManager}
map.put("generalManager","tom");//总经理审批 Assignee:${departmentManager}
RuntimeService runtimeService=processEngine.getRuntimeService();
ProcessInstance processInstance=runtimeService.startProcessInstanceByKey("holiday",map);
}
监听器使用
任务监听器是发生对应的任务相关事件时执行自定义 java 逻辑 或表达式。
任务相当事件包括:

定义任务监听类,且类必须实现 org.activiti.engine.delegate.TaskListener 接口
public class MyTaskListener implements TaskListener {
@Override
public void notify(DelegateTask delegateTask) {
System.out.println("MyTaskListener");
System.out.println(delegateTask.getId());
System.out.println(delegateTask.getName());
}
}
网友评论