Flowable中的多实例事件

简介: 在flowable6.3以后的版本中,支持了MULTI_INSTANCE_ACTIVITY_COMPLETED_WITH_CONDITION事件,这个事件顾名思义就是在多实例节点完成的时候,flowable引擎去发布这个完成事件信号。

在flowable6.3以后的版本中,支持了MULTI_INSTANCE_ACTIVITY_COMPLETED_WITH_CONDITION事件,这个事件顾名思义就是在多实例节点完成的时候,flowable引擎去发布这个完成事件信号。该事件同其他的事件一样,定义在FlowableEngineEventType.java类中。

关于多实例所支持的事件类型如下所示:

MULTI_INSTANCE_ACTIVITY_COMPLETED(多实例完成),

 MULTI_INSTANCE_ACTIVITY_COMPLETED_WITH_CONDITION(多实例正常完成),

  MULTI_INSTANCE_ACTIVITY_CANCELLED(多实例取消),

不管是什么事件,我们在开发的过程中往往只会关心事件的类型以及事件所产生的数据而已。现在既然我们知道了新增的事件类型是

MULTI_INSTANCE_ACTIVITY_COMPLETED,

 MULTI_INSTANCE_ACTIVITY_COMPLETED_WITH_CONDITION,

  MULTI_INSTANCE_ACTIVITY_CANCELLED,

三个,那接下来,我们看一下这些事件所对应的事件处理类,具体细节在AbstractFlowableEngineEventListener类中如下所示:

 case MULTI_INSTANCE_ACTIVITY_COMPLETED:
                       multiInstanceActivityCompleted((FlowableMultiInstanceActivityCompletedEvent) flowableEngineEvent);
            break;
  case MULTI_INSTANCE_ACTIVITY_COMPLETED_WITH_CONDITION:
                       multiInstanceActivityCompletedWithCondition((FlowableMultiInstanceActivityCompletedEvent) flowableEngineEvent);
           break;
  case MULTI_INSTANCE_ACTIVITY_CANCELLED:
                          multiInstanceActivityCancelled((FlowableMultiInstanceActivityCancelledEvent) flowableEngineEvent)
 protected void multiInstanceActivityCompleted(FlowableMultiInstanceActivityEvent event) {}
    protected void multiInstanceActivityCompleted(FlowableMultiInstanceActivityCompletedEvent event) {}

    protected void multiInstanceActivityCompletedWithCondition(FlowableMultiInstanceActivityCompletedEvent event) {}
  
      protected void multiInstanceActivityCancelled(FlowableMultiInstanceActivityCancelledEvent event) {}

MULTI_INSTANCE_ACTIVITY_COMPLETED事件对应的事件类为:FlowableMultiInstanceActivityCompletedEvent

MULTI_INSTANCE_ACTIVITY_COMPLETED_WITH_CONDITION事件对应的事件类为:FlowableMultiInstanceActivityCompletedEvent。

MULTI_INSTANCE_ACTIVITY_CANCELLED事件对应的事件类为:FlowableMultiInstanceActivityCancelledEvent。
由上面的源码可以知道 MULTI_INSTANCE_ACTIVITY_COMPLETED与MULTI_INSTANCE_ACTIVITY_COMPLETED_WITH_CONDITION事件对应的事件类是相同的,都是FlowableMultiInstanceActivityCompletedEvent。

MULTI_INSTANCE_ACTIVITY_CANCELLED事件对应的事件类为:FlowableMultiInstanceActivityCancelledEvent。

通过FlowableMultiInstanceActivityCompletedEvent类我们可以获取到的属性信息如下:

numberOfInstances(多实例的个数)

numberOfActiveInstances(多实例活动的个数)

numberOfCompletedInstances(多实例已经完成的活动个数)

关于更多的事件以及事件监听器可以参考Activiti权威指南一书 。

相关文章
|
存储 XML Java
Flowable工作流-高级篇
Flowable工作流-高级篇
7519 1
|
XML 存储 JavaScript
Flowable学习笔记(二、BPMN 2.0-基础 )
Flowable学习笔记(二、BPMN 2.0-基础 )
4012 0
Flowable学习笔记(二、BPMN 2.0-基础 )
|
移动开发 前端开发 Java
Flowable 任务监听器与执行监听器的介绍
Flowable 任务监听器与执行监听器的介绍
3109 1
|
移动开发 前端开发
基于Jeecg-boot的flowable流程支持拒绝同意流程操作(二)
基于Jeecg-boot的flowable流程支持拒绝同意流程操作(二)
357 0
|
移动开发 前端开发
基于jeecg-boot的flowable支持动态人员设置
基于jeecg-boot的flowable支持动态人员设置
587 0
|
移动开发 前端开发
基于jeecg-boot的flowable流程加签功能实现
基于jeecg-boot的flowable流程加签功能实现
1086 0
|
前端开发 数据库 JavaScript
基于Flowable的流程挂接自定义业务表单的设计与实践
文章讨论了如何在Flowable流程引擎中挂接自定义业务表单,以及相关设计和实践的步骤。文章中包含了一些前后端代码示例,如Vue组件的模板和脚本部分,这些代码用于实现与Flowable流程引擎交互的界面。例如,有一个按钮组件用于提交申请,点击后会触发applySubmit方法,该方法会与后端API进行交互,处理流程启动、查询关联流程等逻辑。
53639 11
|
XML 中间件 数据库
基于jeecgboot的flowable流程支持定时边界事件
基于jeecgboot的flowable流程支持定时边界事件
399 0
|
SQL 监控 Java
flowable的ProcessEngine2
flowable的ProcessEngine
294 2
|
XML 数据格式
[AIGC] 工作流中的会签:概念与实现
[AIGC] 工作流中的会签:概念与实现
1145 1

热门文章

最新文章