`
zybing
  • 浏览: 447163 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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, 新建跳转的名字);

 

分享到:
评论
2 楼 wangsang111 2012-03-28  
能不能给和简单的小例子呢,谢谢啦
1 楼 wangsang111 2012-03-28  
executionService.signalExecutionById(taskId, 新建跳转的名字);
这个方法的第一个参数是taskid吗,不是excutiionid吗

相关推荐

Global site tag (gtag.js) - Google Analytics