Flowable工作流之设置任务处理人的方式

本文详细介绍了Flowable工作流中设置任务处理人的多种方式,包括硬编码指定用户、通过变量设置、通过监听器设置,以及特殊情况下的处理人设定。文中通过实例展示了如何在不同场景下动态指定任务处理人。

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

1. 设置任务处理人的方式

现在,假设我有如下一个简单的流程图

在这里插入图片描述
那么我该如何设置这个用户节点的处理人呢?

1.1. 指定具体用户(硬编码)

第一种方式,是我们在绘制流程图的时候,可以选中这个节点,然后直接设置流程的处理人,像下面这样

在这里插入图片描述
然后在打开的窗口中选择固定值,设置具体分配的用户是 javaboy,如下图

在这里插入图片描述
好了,现在这个节点就固定的由一个名为 javaboy 的用户去处理了。对应的 XML 文件如下

<process id="demo01" name="demo01" isExecutable="true">
	<documentation>demo01</documentation>
  	<startEvent id="startEvent1" flowable:formFieldValidation="true"></startEvent>
  	<userTask id="sid-5F901234-AFF1-480E-9D66-2D196B910BA3" flowable:assignee="javaboy" flowable:formFieldValidation="true">
    	<extensionElements>
      		<modeler:initiator-can-complete xmlns:modeler="http://flowable.org/modeler"><![CDATA[false]]>	</modeler:initiator-can-complete>
    	</extensionElements>
  	</userTask>
  	<sequenceFlow id="sid-71FB3A81-F753-419D-9A0A-2FC6E5361CED" sourceRef="startEvent1" targetRef="sid-5F901234-AFF1-480E-9D66-2D196B910BA3"></sequenceFlow>
  	<endEvent id="sid-D0B9E5BF-8C1A-4F8F-B2C2-F423F5DC556D"></endEvent>
  	<sequenceFlow id="sid-DEBE03CD-F247-4EF3-BB67-ABBA94739B0A" sourceRef="sid-5F901234-AFF1-480E-9D66-2D196B910BA3" targetRef="sid-D0B9E5BF-8C1A-4F8F-B2C2-F423F5DC556D"></sequenceFlow>
</process>
  • 在上面这段 XML 中,可以看到 UserTask 节点中有一个 flowable:assignee="javaboy",这句话就是设置这个 UserTask 的处理人

接下来,我们部署并启动这个流程

// 部署流程
@Test
public void test1() {
   
   
	ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
    RepositoryService repositoryService = processEngine.getRepositoryService();

    Deployment deploy = repositoryService.createDeployment()
			.addClasspathResource("processes/demo01.bpmn20.xml")
            .name("员工请假流程")
            .category("请假")// 分类
            .tenantId("javaboyId")// 租户id
            .deploy();
    System.out.println("deploy.getId() = " + deploy.getId());
    System.out.println("deploy.getName() = " + deploy.getName());
    System.out.println("deploy.getCategory() = " + deploy.getCategory());
}

// 启动流程
@Test
public void test2() {
   
   
	ProcessEngine
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值