用内部带有’圆圈’图标的网关(菱形)表示。
这个网关比较特殊,它集合了前面两个网关的特点,一句话来说就是,它既可以像排他网关那样设置条件,也能像并行网关这样设置多条分支并行执行,在上图中,当流程启动后,如果流程变量paymentReceived == false且shipOrder == true,将会创建两个任务。如果只有一个流程变量等于true,则只会创建一个任务。如果没有条件计算为true,会抛出异常,并可通过指定出口顺序流
举个例子:启动流程的时候传入下面的参数,执行流程。
HashMap<String, Object> variableMap = new HashMap<String, Object>();
variableMap.put("receivedPayment", true);
variableMap.put("shipOrder", true);
在上面的例子中,只有ship order 一个任务会被创建,当这个任务完成后,第二个包容网关会合并这两个执行,并且由于只有一条出口顺序流,不会再创建并行执行路径,只会激活Archive Order任务继续后面的流程。
上面这段是我摘抄的:https://www.cnblogs.com/leng39/p/8057615.html
个人觉得包容网关没什么可讲的。建议完全理解了排他网关和并行网关后再看包容网关。
用java的逻辑讲就是:多个if条件在连接线上,哪个一个满足就会创建一个task任务存储到act_ru_task表中,简单明了。
不过多将了,可以看看之前的博客,看懂后这个自然也就会了。