activiti学习资料--initiator的作用及其使用

本文详细介绍了Activiti中activiti:initiator属性的作用,通过一个请假流程的模拟场景,阐述如何利用该属性将任务自动分配给流程发起者。通过设置activiti:initiator并配合特定代码,确保任务能够正确回退到原始申请人。同时,提供了单元测试案例以加深理解。
摘要由CSDN通过智能技术生成

activiti:initiator的作用及其使用

1.场景模拟

kft-activiti-demo中的请假流程为例,操作流程:

  1. 用户A申请请假
  2. 领导B驳回
  3. 任务流转到“调整请假信息”节点

问题来了:如何把“调整请假信息”任务自动分配给申请请假的用户A呢?

2.救世主activiti:initiator

Activiti为此专门在startEvent上扩展了一个属性activiti:initiator用了解决这个问题。

下面的代码片段包含了这个属性:

<process id="leave" name="请假流程">
    <startevent id="startevent1" name="Start" activiti:initiator="applyUserId"></startevent>
    <usertask id="deptLeaderAudit" name="部门领导审批" activiti:candidategroups="deptLeader"></usertask>
    <exclusivegateway id="exclusivegateway5" name="Exclusive Gateway"></exclusivegateway>
    <usertask id="modifyApply" name="调整申请" activiti:assignee="${applyUserId}">
      <extensionelements>
        <activiti:tasklistener event="complete" delegateexpression="${afterModifyApplyContentProcessor}"></activiti:tasklistener>
      </extensionelements>
    </usertask>
    <usertask id="hrAudit" name="人事审批" activiti:candidategroups="hr"></usertask>
    <exclusivegateway id="exclusivegateway6" name="Exclusive Gateway"></exclusivegateway>
    <usertask id="reportBack" name="销假" activiti:assignee="${applyUserId}">
      <extensionelements>
        <activiti:tasklistener event="complete" delegateexpression="${reportBackEndProcessor}"></activiti:tasklistener>
      </extensionelements>
    </usertask>
</process>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值