Flowable6.4 – 异步执行器

最近看了看Flowable的相关文档,我对一段说明比较感兴趣,这段说明的中文翻译如下: Flowable V5版本中,在之前的作业执行器(job executor)之外,还提供了异步执行器(async executor)。异步执行器已被许多Flowable的用户及我们自己的跑分证明,性能比老的作业执行器好。 从Flowable V6起,将只提供异步执行器。在V6中,对异步执行器进行了完全的重构,以提升性能及易用性。 所以,我特地去看了一...

流程设计器整合

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

Flowable6.4 – 排他网关

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

Flowable6.4 – 数据库访问及事务处理

​最近我对于Flowable的数据库访问过程很感兴趣,所以去阅读了一下这块的源码,大概梳理了一下。 直接从ProcessEngineConfigurationImpl内的init()方法作为切入点,跟踪其内部调用的initCommandExecutors()方法。 如果阅读过之前我写的源码分析文章,就可以知道Flowable是基于命令链来实现各种业务逻辑的,也可以知道initCommandExecutors()这个方法其实就是命令链的初始化方法。 着重关注一下get...

Flowable6.4 – Behavior改变ConditionExpression

上一篇简单介绍了一下如何自定义Behavior,此篇就试验一个稍微复杂一些的:使用Behavior改变ExclusiveGateway的Outgoing条件。​ 先上流程图: 设置一下分支节点(ExclusiveGateway)后面两条路径(SequenceFlow)的执行条件: 第一条路径 第二条路径 然后,扩展一个ExclusiveGatewayActivityBehavior,源码如下: public class ExtExclusiveGatewayActivityBehavior ...

Flowable6.4 – Behavior使用初探

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

Flowable6.4 – Behavior的用途分析(execute)

上一篇分析了一下Behavior的用途,不过只是追踪到leave()方法就结束了。后来在实际工作当中发现,其内部的execute也挺重要,所以本次就看一下execute()方法的主要作用。 在上一篇中,调用了super.leave()方法后,其实就会离开当前节点,主要是通过下面的代码实现的: /** * Default way of leaving a BPMN 2.0 activity: evaluate the ...

Flowable6.4 – Behavior的用途分析

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

Activiti6.0 – 子流程加签和减签

Activiti6.0 – 子流程加签和减签
之前完成了加签和减签的功能,但是只是在普通多实例节点上测试了一下。趁着魔兽世界排队的功夫,我又测试了一下子流程,目前来看还算正常。 先看一下流程图,用的其实就是之前的流程,如下: 首先,加签。 启动流程,将流程流转至SubTask1,此时act_ru_task的数据如下: 此时,直接请求之前已经有的接口: http://localhost:8080/activiti/flow/addExecution/SubTask1/16770...

Activiti6.0 – 减签

上一篇实现了Activiti6.0的加签功能,本篇就实现一下Activiti6.0的减签功能。 与上一篇思路相同,既然Flowable已经实现了相关的API,我就拿过来小幅度改造以后,直接使用。 所以,找到DeleteMultiInstanceExecutionCmd的所在位置,直接拷贝至项目中。此命令在Flowable中的位置如下图所示: 拷贝后的位置其实与上一篇中AddMultiInstanceExecutionCmd所在的位置相同,如下图: 相...
Copyright © 字痕随行 保留所有权利.   Theme  Ality 京ICP备14039894号

用户登录

分享到: