jBPM4.4:动态创建连接

参考了这篇文档的思路:

http://man1900.iteye.com/blog/650580

 

把流程简单的写一下:

  • 获取到当前流程的ProcessDefinitionImpl (注意:这里面使用到实现的方法,光采用接口无法实现功能)
    可以通过ProcessInstance获取到ProcessDefinitionId,通过ProcessDefinitionQuery获取到ProcessDefinitionImpl(自己进行转换)
  • 通过ProcessDefinitionImpl,获取到需要跳转的2个节点,用ActivityImpl对象(通过ProcessDefinition的findActivity方法,通过Activity的name获取ActivityImpl对象)
    从跳转的start的ActivityImpl,生成一个transitionImpl(调用ActivityImpl的createOutgoingTransition方法)
    然后设置这个transitionImp的名字,以及调用setDestination(destActivity),
    最后把这个transitionImpl设置进start的ActivityImpl中(调用start的ActivityImpl的addOutgoingTransition)
    这样就动态的生成了一个连接
  • 在系统中进行这个跳转就可以了;
    executionService.signalExecutionById(taskId, 新建跳转的名字);

 

你可能感兴趣的:(Blog)