flowable 根据任务id获取任务节点下的多实例标签属性
时间: 2023-10-09 14:17:23 浏览: 71
您好!根据任务id获取任务节点下的多实例标签属性可以通过流程引擎提供的API进行操作,具体步骤如下:
1. 获取任务节点的`DelegateTask`对象
您可以根据任务ID获取当前任务节点的`DelegateTask`对象,方法如下:
```
DelegateTask delegateTask = (DelegateTask) taskService.createTaskQuery()
.taskId(taskId)
.singleResult();
```
其中,`taskId`为任务的ID。
2. 获取任务节点的多实例标签属性
在获取到`DelegateTask`对象后,您可以通过`delegateTask.getVariableLocal("multiInstance")`获取任务节点的多实例标签属性,其中`multiInstance`为多实例标签的名称。
您可以在任务节点的XML配置文件中添加`multiInstance`标签,如下所示:
```
<userTask id="task1" name="Task 1">
<multiInstanceLoopCharacteristics isSequential="false" flowable:collection="users" flowable:elementVariable="user">
<completionCondition>${nrOfCompletedInstances/nrOfInstances >= 0.6}</completionCondition>
</multiInstanceLoopCharacteristics>
</userTask>
```
在上面的XML配置中,`multiInstance`标签的属性`flowable:collection`表示多实例的数据源,`flowable:elementVariable`表示多实例的元素变量,`isSequential`表示多实例的执行方式(顺序或并行),`completionCondition`表示多实例的完成条件。
您可以根据实际需求来修改`multiInstance`标签的属性,然后在任务监听器中获取相应的多实例标签属性。