sample

xml配置

 

 <start-state name="request" swimlane="requester">
    <transition to="BeginRequest"/>
 </start-state>

 

 <fork name="BeginRequest">
    <transition to="RequesterCancel"/>
    <transition to="IsChief"/>
 </fork>

 

 <decision name="IsChief">
    <delegation class="kellerdu.jbpm.delegation.ChiefDecision"/>
    <transition name="BossApprove"  to="BossApprove"/>
    <transition name="ChiefApprove"  to="ChiefApprove"/>
 </decision>

 

<state name="ChiefApprove">
    <assignment swimlane="chief"/>
    <transition name="approve" to="NeedBossApprove">
     <action>
         <!-- 将请假的状态改变为“主管批准”-->
         <delegation class="kellerdu.jbpm.action.ChiefApprove"/>
     </action>
    </transition>
    <transition name="disapprove" to="Decided">
    <action>
          <!-- 将请假的状态改变为“主管否决”-->
          <delegation class="kellerdu.jbpm.action.ChiefDisapprove"/>
   </action>
  </transition>
 </state>

 

 <join name="Decided">
    <description>有一个先到达即进行父Token</description>
    <delegation class="kellerdu.jbpm.delegation.DecidedJoin"/>
    <transition to="DoSomething"/>
 </join>

 

 

代码示例

DecisionHandler

public String decide(ExecutionContext executionContext) {
        if(ac!=null&&(ac.equals("dali")||ac.equals("wang"))){
            return "BossApprove";
        }else{
            return "ChiefApprove";
        }
    }

 

JoinHandler

public void join(JoinContext joinContext) throws ExecutionException {
        Token arrivingToken = joinContext.getToken();
         if(to.getId().equals(arrivingToken.getId())){
                joinContext.getExecutionService().cancelToken(to.getId());
            }
        }
          joinContext.reactivateToken( arrivingToken.getParent() );
    }

 

AssignmentHandler

public String selectActor(AssignmentContext assignmentContext) {
       return "chief";
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值