flowable 获取任务节点下的多实例标签属性
时间: 2023-08-25 16:19:19 浏览: 171
您好!获取任务节点下的多实例标签属性可以通过流程引擎提供的API进行操作,具体步骤如下:
1. 获取任务节点的`DelegateTask`对象
您可以在任务监听器中获取当前任务节点的`DelegateTask`对象,方法如下:
```
public void notify(DelegateTask delegateTask) {
// 获取任务节点的ID
String taskId = delegateTask.getId();
// 获取流程实例ID
String processInstanceId = delegateTask.getProcessInstanceId();
// 获取流程定义ID
String processDefinitionId = delegateTask.getProcessDefinitionId();
// 获取任务节点的名称
String taskName = delegateTask.getName();
// 获取任务节点的多实例标签
String multiInstance = delegateTask.getVariableLocal("multiInstance");
}
```
2. 获取任务节点的多实例标签属性
在上面的代码中,我们通过`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`标签的属性,然后在任务监听器中获取相应的多实例标签属性。
阅读全文