Activiti如何动态的设置多实例用户

Activiti如何动态的设置多实例用户


我们有一种场景,我们只知道下个节点是多任务节点,但是我们想动态的去查找用户,并且生成对应的用户任务

此时我们可以有两种方式来实现

第一种:使用java程序完成上一个任务时,设置好下个节点办理人的一些信息,这种方式比较繁琐

第二种:可以使用监听来实现,如下图所示:

7AE2FD05-9769-4ad8-9714-DEED3877DD78.png

下图为一个简单的流程图,审批节点为多任务节点。其变量为uname

那么我们可以在这个节点的前一个连线出创建一个监听任务

监听需要实现ExecutionListener这个接口

其实现类核心代码如下

	public void notify(DelegateExecution execution) throws Exception {
		//设置办理人
		List<String> list = new ArrayList<String>();
		list.add("张三丰");
		list.add("张四丰");
		list.add("张五丰");
		execution.setVariable("uname", list);
	}

这样,当我们执行到这里的时候,就会生成三个任务

如此就很方便的解决了我们需要动态实现多实例的办理人的需求


爆款云服务器s6 2核4G 低至0.46/天,具体规则查看活动详情Blog Img