Osworkflow初探(二)--osworkflow流程中的角色问题

本文探讨了osworkflow中流程的分流(split)与汇聚(join)机制。通过具体配置示例,详细介绍了如何在一个节点处分流成多个独立流程,并在各分支完成后汇总至下一个节点。此外还提到了上下级流程流转的简化处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

osworkflow中的角色问题就是在流程流转的过程中,如何将指定的步骤传到具体的某个人那里。。。。(有点山药蛋的味道。。。)

 

我们这里的流程其实有两种情况(现在意识的):

1.平级的流程流转

2.上下级的流程流转

 

对于平级的情况,可能存在split和join的情况,在owf中可以通过split将请求转到其他的多个节点,实例:

<unconditional-result old-status="Finished" status="Underway" split="1"/>

 

对应的split 1就是:

<splits>
        <split id="1">
            <unconditional-result old-status="Finished" status="Underway" owner="${assistant}" step="2"/>
            <unconditional-result old-status="Finished" status="Underway" owner="${assistant}"  step="3"/>
<!--            <unconditional-result old-status="Finished" status="Underway" owner="${assistant}" step="2"/>-->
        </split>
        <split id="2">
            <unconditional-result old-status="Finished" status="Underway" owner="${assistant}"  step="3"/>
        </split>
    </splits>

 

这里尽管我们转到step 2和3的是同一个owner,我们可以指定多个owner来实现不同的用户转向不同的环节。

 

对于join的情况,我们继续看这个例子,在step 2和3的result中都指向同一个join:

<results>
            <unconditional-result old-status="Finished" join="1" />
 </results>

 

<joins>
        <join id="1">
            <conditions type="AND">
                <condition type="beanshell">
                    <arg name="script"><![CDATA[
                    "Finished".equals(jn.getStep(2).getStatus()) && "Finished".equals(jn.getStep(3).getStatus())
                    ]]></arg>
                </condition>
            </conditions>
            <unconditional-result old-status="Finished" status="Underway" owner="${academician}" step="4"/>
        </join>
    </joins>

 

上面的代码就实现了,在一个节点处分成多个流,每个流(这里确切的说是一个步骤)都完成一件独立的事件,然后再所有这些流都完成的情况下汇总到一个下个节点。

 

上下级之间的转换就比较简单了。。。。

 

p.s:据说split和join不能再以一个split或join作为result了,切记,切记!!

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值