flowable会签串行执行
时间: 2024-06-13 18:02:50 浏览: 159
Flowable是一款开源的流程自动化工具,它支持多种工作流模式,包括串行执行。在串行执行模式下,任务按照定义的顺序依次分配给参与者,每个人完成任务后,流程才会继续到下一个步骤。
以下是如何在Flowable中设置串行执行的基本步骤[^4]:
1. **定义流程**: 使用Flowable的图形用户界面(如Modeler)创建流程模型,确保流程图中任务的连接方式表示为线性序列。
```xml
<sequenceFlow id="flow1" sourceRef="task1" targetRef="task2"/>
```
2. **启用流程引擎**: 启动Flowable引擎时,配置工作流引擎以使用串行流程。
3. **部署流程**: 将流程定义文件(`.bpmn`或`.xml`)部署到Flowable引擎。
4. **启动流程**: 通过API或用户界面启动流程实例,实例会按照流程图中的顺序执行任务。
```java
// Java示例
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("serialExecutionProcess");
```
相关问题
flowable会签功能
### Flowable 工作流引擎中的会签功能
#### 什么是会签?
在Flowable工作流引擎中,会签是指多个参与者共同完成同一任务的过程。这种机制允许特定的任务由一组人员来审批或执行,只有当满足一定条件时(比如所有人都同意),流程才会继续向前推进。
对于串行会签而言,指的是按照预先设定好的顺序让用户逐一处理相同类型的子任务[^3]。这意味着每个指定的用户都需要依次接收到待办事项并对其进行操作;直到所有涉及的人都完成了各自的部分之后,整个会签环节才算结束。
#### 如何配置会签节点?
为了实现上述提到的功能,在BPMN模型里可以通过创建多实例活动来设置会签逻辑:
1. **定义参与者的集合**:通过`camunda:inAssignments`属性指定哪些成员应该参与到当前活动中去。
2. **控制并发行为**:利用`parallel="false"`参数表明这是一个串行过程而非并行模式下的会签。
3. **自定义完成条件**:借助于`camunda:completionCondition`表达式来决定何时可以认为该阶段已经达成目标从而触发后续动作的发生。
下面是一个简单的例子展示了如何编写这样的XML片段用于描述一个基本的串行会签场景:
```xml
<userTask id="approvalTask" name="Approval Task">
<multiInstanceLoopCharacteristics isSequential="true"
camunda:class="org.flowable.engine.impl.bpmn.behavior.UserTaskActivityBehavior">
<!-- 定义谁将是这个任务的候选人 -->
<camunda:inputOutput>
<camunda:outputParameter name="assignee">${approver}</camunda:outputParameter>
</camunda:inputOutput>
<!-- 设置完成条件 -->
<camunda:completionCondition>${nrOfCompletedInstances == nrOfInstances}</camundra:completionCondition>
<!-- 获取审阅者列表的方式 -->
<camunda:collection>approvers</camunda:collection>
<camunda:elementVariable>approver</camunda:elementVariable>
</multiInstanceLoopCharacteristics>
</userTask>
```
这段代码表示了一个名为“Approval Task”的人工任务将会被分配给不同的审稿人,并且他们将以序列化方式分别接受到通知直至最后一方给出反馈为止。
#### 数据库支持
除了业务流程的设计外,Flowable还依赖一系列数据库表格存储运行期间产生的各类信息。其中涉及到两个主要结构——`ACT_GE_BYTEARRAY`用来保存二进制形式的数据对象如图片文件等;而`ACT_GE_PROPERTY`则记录了一些全局性的元数据项,例如版本号或者其他系统级别的特性[^2]。
这些基础设施确保了即使面对复杂的协作需求也能保持高效稳定的表现。
flowable 会签减签
flowable 是一个流程引擎,可以帮助用户设计、执行和管理工作流程。在 flowable 中,会签和减签是流程中的两个重要操作。
会签是指在一个节点上,需要多个参与者对任务进行处理,只有当所有参与者都完成任务后,该节点才能继续执行。会签可以确保多个人对同一个任务达成一致意见,提高决策的准确性和可行性。
在 flowable 中,会签可以通过使用 parallelGateway 或者 inclusiveGateway 来实现。parallelGateway 可以实现并行会签,即每个参与者独立处理任务,而 inclusiveGateway 可以实现串行会签,即参与者按照指定的顺序依次处理任务。
减签是指在某个节点上,当某些条件满足时,可以从会签中移除一个或多个参与者,减少任务的处理人数。减签可以提高流程的灵活性和敏捷性,确保只有需要参与的人才会处理相应任务,减少不必要的时间和资源浪费。
在 flowable 中,减签可以通过执行 runtimeService.deleteParticipant 方法来实现。该方法可以根据指定的任务 ID 和参与者 ID,将指定参与者从会签中移除。
总之,flowable 的会签和减签功能可以帮助用户更好地管理工作流程,提高流程的效率和灵活性。
阅读全文