JBPM节点分支之Group节点分析

系统 1564 0

JBPM节点分支之Group节点分析

JBPM的众多节点类型中,唯独Group节点比较有个性;Group节点作为众多的节点中的一员,其并不能完成业务功能,但其作为一种节点的容器,可以对现有的节点类型进行“混搭”,从而构造出可以完成新的业务功能的节点类型!今天我们来简单的学习一下Group节点,后续我们会进行深入分析JBPM的并发设计时候再次提到Group节点。
Group节点功能分析
作为父容器,可以将复杂的业务功能进行封装为新的节点类型,便于业务复用和维护;
可以将各种复杂的业务过程嵌套到Group中,简化复杂的业务流程;
可以作为流程并发的边界容器;
可以作为子流程的承载容器,将子流程封装为单独的一种节点类型;
Group的个性特点
作为容器节点,可以嵌套任意类型的节点,可以满足复杂的业务需求;
前一节点出弧可以直接跨越Group节点,与Group的子节点相连,子节点的出弧也可以直接Group的后一个节点;
嵌套多起点的时候可以进行并发;
下面我们看一下几个有Group节点的流程,来体味一下Group的功能和使用
简单的Group流程
在这个简单的公文流转(权且这样称谓吧)流程中,我们将这个简单的业务流程嵌套到Group节点中,封装了这个业务流程,当然从重用的角度来说,这并不是一个很好的例子,但是这同样足够体现了Group节点的功能!

流程图如下

JBPM节点分支之Group节点分析

流程定义JPDL


  

测试用例代码


带有定时器的Group流程
Group作为可等待外部唤醒的节点(此唤醒不同task、state的人工外部唤醒,此处唤醒是由流程引擎进行唤醒继续执行的),其出弧是可以设置定时器的,对于定时器我们后续会进行学习。在这个流程中,在Group开始执行后的2个业务小时后就会执行定时器所在的分支。

流程图如下

JBPM节点分支之Group节点分析

流程定义JPDL

测试用例

具有多起点的Group流程(非并发流程)
在这个流程中,判断节点连接到Group中的不同分支上,通过运行时变量承载的弧名称来选择执行不同的分支,这种情况下只能有一个分支执行。

流程图如下

JBPM节点分支之Group节点分析

流程定义JPDL

测试用例


带有Group的并发流程
带有Group的并发流程与WF4中的Parallel活动类似,在下面的流程中,由于Group的子节点中由两个没有入弧的节点(不一定得是开始节点),所以运行时会产生两个并发分支。
流程图如下

JBPM节点分支之Group节点分析

流程定义JPDL

测试用例代码

对Group的学习今天就到此为止,接下来我们会对JBPM中的并发节点以及并发机制进行分析。


JBPM节点分支之Group节点分析


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论