Flowable6.4 – 流程变量

这次分享一下流程变量的相关API,有关流程变量的解释如下: 流程实例按步骤执行时,需要使用一些数据。在Flowable中,这些数据称作“变量(variable)”,并会存储在数据库中。变量可以用在表达式中(例如在排他网关中用于选择正确的出口路径),也可以在Java服务任务(service task)中用于调用外部服务(例如为服务调用提供输入或结果存储),等等。 有关流程局部变量的解释如下: 局部变量将只在该...

Flowable6.4 – BpmnModel

​在Flowable的官方文档中,有一段这样的描述: 在V6中,所有流程定义的信息都可以通过BpmnModel_获取。这是一个BPMN 2.0 XML流程定义的Java表现形式(并对特定操作及搜索进行了增强)。 这一次就看一看BpmnModel到底能够干什么。 如何在一个已知的流程定义中获得BpmnModel呢? 已有模型标识,获得BpmnModel: byte[] modelEditorSource = repositoryService.getModelEdit...

流程设计器整合

之前只有整合教程,而没有相关的整合代码。这周花了点时间,整理了一下,开源了两个项目。 第一个项目 基于SpringMVC整合了Activiti的流程设计器,开源地址如下: https://gitee.com/blackzs/activiti-designer 相关的整合教程如下: 整合Activiti6.0Web流程设计器 整合Activiti6.0流程设计器-编辑保存 整合Activiti6.0流程设计器-发布和运行 运行时说明如下: 启动后的入口...

Flowable6.4 – 排他网关

Flowable6.4 – 排他网关
一般情况下,通过开始事件、用户任务、网关、结束事件,就可以组成一个简单的顺序流。 在之前的文章中,开始事件、用户任务、结束事件都有过介绍,这次就来着重介绍一下网关中的排他网关。 顾名思义,排他网关只会选择一条顺序流,即当流程到达排他网关这个节点时,会按顺序(XML中定义的前后顺序)选择出口顺序流(sequenceFlow)计算其定义的条件,如果被计算的条件为True,则按照该出口顺序流向下执...

Flowable6.4 – Behavior使用初探

通过之前分析Behavior的源码,基本上搞清楚了它的作用,这次就简单试验一下它的用法。 如果看过ProcessEngineConfigurationImpl的源码,会在其中的init()方法中发现BehaviorFactory的初始化方法。由此入手,就能够了解如何定制Behavior。 这块的源码暂时先不分析,本次直接使用一个简单的Demo介绍一下如何定制UserTaskActivityBehavior。 首先,声明一个自定义类,直接继承自UserTaskActivityBeh...

Flowable6.4 – Behavior的用途分析

Flowable和Activiti里面有一个很重要的部分 - Behavior,接下来分析一下这部分的主要作用是什么。 首先,要找一个切入点,看一下在调用TaskServiceImpl.complete()时发生了什么。下面是该函数的源码: @Overridepublic void complete(String taskId) {    commandExecutor.execute(new CompleteTaskCmd(taskId, null));} 这里可以看到执行了...

Activiti6.0 – 减签

上一篇实现了Activiti6.0的加签功能,本篇就实现一下Activiti6.0的减签功能。 与上一篇思路相同,既然Flowable已经实现了相关的API,我就拿过来小幅度改造以后,直接使用。 所以,找到DeleteMultiInstanceExecutionCmd的所在位置,直接拷贝至项目中。此命令在Flowable中的位置如下图所示: 拷贝后的位置其实与上一篇中AddMultiInstanceExecutionCmd所在的位置相同,如下图: 相...

Activiti6.0 – 加签

试验过了Flowable的加签和减签,并且简单分析了一下其源码之后,这次就来尝试一下实现基于Activiti6.0的加签功能。 Activiti6.0并没有提供加签的API接口,不过完全可以参照Flowable的源码来实现,甚至于有的接口照抄即可。 首先,找到AddMultiInstanceExecutionCmd这个命令所在的位置,如下图: 将这个类直接拷贝到Activiti的相关项目里,比如我这里的结构如下: 拷贝完后,...

Activiti6.0 – 多实例节点跳转

最近都在试验Activiti6.0的节点跳转,其它的文章见索引。 本次就试验一下在Activiti6.0的一个流程内,由多实例节点跳转至其它的用户节点。 首先,仍旧是先上流程图: 上图中,用户任务1和用户任务3是普通的用户节点,用户任务2是多实例节点。 当流程处于节点“用户任务1”时,数据表中的记录如下图: act_ru_task act_ru_execution act_ru_variable 对比一下,当流程处...

Activiti6.0 – 子流程节点跳转

上一篇中介绍了如何在一个简单的流程中,实现节点的自由跳转。正常的流程肯定不会如此简单,本篇就介绍一下如何实现子流程的节点跳转。 内嵌子流程其实使用上一篇中介绍的方法就可以实现,因为从本质上来说,内嵌子流程并没有脱离父流程,仍旧属于它不可分割的一部分。 本篇着重介绍的如何实现调用子流程的节点跳转,主要介绍一下如何从子流程内的节点跳出到父流程节点。流程在进入调用子流程这部分...
Copyright © 字痕随行 保留所有权利.   Theme  Ality

用户登录

分享到: