jBPM 人工任务

2024 年 8 月 29 日 | 阅读 2 分钟

大多数业务流程都需要人工交互。例如,可能需要人工进行审批、异常管理和一些其他相关操作。他们还负责执行增强业务流程所需的活动。

jBPM 支持流程中不同类型的人工任务节点,用于建模与人类用户的交互。 人工任务节点允许流程设计人员定义人类参与者需要执行的任务属性。 jBPM 还包括一个后端服务,用于管理运行时任务的生命周期。

要在流程中使用人工任务,我们需要三个组件:


jBPM Human Task

人工任务生命周期

从流程的角度来看,只有在流程执行期间遇到用户任务节点时才会创建人工任务。 现在,只有当相关的人工任务已完成或中止时,流程才会离开用户任务节点。

人工任务本身具有完整的生命周期。下图描述了人工任务的生命周期。


jBPM Human Task

新任务在“已创建”阶段开始创建。 然后它会自动进入“就绪”阶段。 这里“任务”显示了所有允许执行任务的参与者的任务列表。 该任务将保持在就绪阶段,直到其中一个参与者声明该任务以通知他们正在执行该任务为止。

一旦用户声明了任务,状态将更改为“已预留”阶段。 声明任务后,该用户可以决定开始执行任务。 在这种情况下,任务状态将更改为“进行中”阶段。

最后,一旦任务执行完毕,状态将更改为“已完成”。 如果任务未完成,用户还可以使用故障响应来指示这一点。 在这种情况下,状态将更改为“失败”

人工任务服务允许许多其他生命周期方法,例如:

  • 委派或转发任务。 在这种情况下,它被分配给另一个参与者。
  • 撤销任务,它不再被任何特定参与者声明,而是重新出现在所有潜在参与者的任务列表中
  • 暂时挂起或恢复任务
  • 停止正在进行的任务
  • 跳过任务。 在这种情况下,将不会执行该任务。