jbpm4.3自由流程(动态路由)的实现

      jbpm是老外开发的,更是和国外的工作流需求,但是要想真正适用于咱中国,可能需要我们自己去探索一些东西,比如任意回退、会签(包括加、减签,补签)、撤销(又叫回退)、自由流(又叫动态路由)。此处之所以叫做灵活的临时动态性需求,就是因为这些需求,存在着很强的人为性因素(呵呵,此处才是真正的中国特色)。现业务需求方提出能不能够发起人在发起单据时,自由选择下个审批节点,现提供一种解决办法就是动态创建transition转移。先贴上相关代码:

这是在dao实现层进行动态创建transition,但要注意,创建好了transition后,我们需要指定流转到新的transition中

经过以上操作后,流程实例应流到我们指定的审批节点,但是在审批节点审批时可能会发生以下错误:

No unnamed transitions were found for the task for‘C’类似的错误,这是因为所有的activity的外向transition都有自己的name,所以我们在completeTask时应该指定对应的transition名称,如completeTask(taskId, "transitionName")。如果调用completeTask(taskId)就会报上述错误。这里大家要注意一下。

 

创建使用后,当然我们需要remove掉之前create的transition,否则,线就会很乱

 

至此,大致主要的代码和注意点都列出来了,但是这种方法有一定的弊端就是:

动态创建transition,在多线程同时访问时,可能会出现很多问题,所以自由流程慎用!

如果大家有更好的解决自由流程的方法,也希望能给我留下一些指点,谢谢~共同进步

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值