请看代码
java 代码
- taskInstance = taskMgmtSession.loadTaskInstance(taskInstanceId);
- Set <pooledactor></pooledactor> actorSet = new HashSet <pooledactor></pooledactor> ();
- PooledActor objPooledActor = new PooledActor();
- objPooledActor.setActorId("C0512001");
- objPooledActor.setSwimlaneInstance(taskInstance.getSwimlaneInstance());
- actorSet.add(objPooledActor);
- objPooledActor = new PooledActor();
- objPooledActor1.setActorId("C0512002");
- objPooledActor1.setSwimlaneInstance(taskInstance.getSwimlaneInstance());
- actorSet.add(objPooledActor1);
- taskInstance.setPooledActors(actorSet);
这段是代码的节选,主要的问题在于setPooledActors的这个set里面的元素是PooledActor,以前我以为是string,导致出错,后来查了一下,原来是这个回事,然后我的代理人问题就解决了。
通过程序根据查询得到的代理人,然后把原来的处理人及代理人都添加到PooledActors,这个步骤可以在swimlane中实现,也可以通过程序在这个任务创建完成后实现。
注: 记得要把actorId赋值为null,否则PooledActors不会生效。