十年前,同时带三个项目,还能记清楚各种细节。十年后,记事本翻页,就已经记不清楚上一页内容了。
花有重开日,人无再少年。相逢拌酩酊,何必备芳鲜
距离上一篇好长时间了,今天有点力气,简单说说Flowable的待办吧。
其实所谓的待办,归根到底就是通过查询act_ru_identitylink这张表得到的。
如果使用它的API接口来实现,简单的代码如下:
taskService.createTaskQuery().taskCandidateU...
Flowable6 – 获得下一节点
打了个疫苗,找个借口歇一下。面试太多,再找个借口歇一下。没啥内容可写,继续歇一下。
躺着是最舒服的。好了,言归正传(本文基于Flowable6.6测试通过)。
有的集成了流程引擎的系统提供流程执行预测功能,说白了就是按照流程图提前跑一下,看看会到达哪个节点。
要实现这个功能,大概的步骤如下:
获得当前的节点。获得当前节点的出口连接线。按照连接线获得下一个节点。如果是非用...
Flowable6 – 多实例子流程(会签的方案)
今天我要写这篇文章的时候,关注量变成了一个傻数,哈哈:
之前有一篇文章,介绍过基于多实例用户任务实现会签的方案 - 《Flowable6.4 - 会签实现方案》。
有的场景,使用多实例用户任务无法实现,比如下面这种会签场景:
在会签时,需要“部门普通员工”先审核,然后“部门主管”再审核,这种情况使用多实例用户任务显然无法实现,即使勉强实现,最终所描述的场景肯定有所欠缺。
在使用...
Flowable6 – 事件
貌似从来没有专门介绍过Flowable的事件,只是在流程设计器部分提到过,那么就总结一下吧。
Flowable所有的事件类型,可以参见枚举:
org.flowable.common.engine.api.delegate.event.FlowableEngineEventType
比如最常用的:
/** * A task has been created. This is thrown when task is fully initialized (b...
Flowable6 – 自定义缓存(2)
接上一篇的自定义缓存,这次具体说说如何自定义缓存,以及使用了Redis后,我是如何能够让它正常运行。
首先,自定义缓存需要实现一个接口,代码如下:
public class ProcessDefinitionRedisCache implements DeploymentCache<ProcessDefinitionCacheEntry> { @Override public ProcessDefinitionCacheEntry&nbs...
Flowable6 – 自定义缓存(1)
我本来以为自定义缓存是个很容易的事情,毕竟接口是已经存在的,所以理论上只要实现接口,然后完成序列化和反序列化就可以了。
而实际上,折腾了一周多的时间,最后也不是真正意义上的成功。
先上结论:分析了一下源码,发现从Activiti6开始,缓存的类有了些许改变,加入了BpmnModel和Process。
public class ProcessDefinitionCacheEntry implements Serializable {&...
Flowable6.6 – ID生成器
最近被Flowable的自定义缓存搞的神烦,今天先看看如何自定义它的ID生成器,后面再细说缓存的事。
如果只是想使用自定义ID生成策略,只需要以下代码就好了:
configuration.setIdGenerator(new IdGenerator() { @Override public String getNextId() { //这里使用hutool的U...
Flowable6.6 – 升级初体验
上次在Flowable - 运行UI时,遇到了索引超长的问题,后来我又仔细琢磨了一下。
当时运行的语句是:
CREATE TABLE ACT_APP_DEPLOYMENT (ID_ VARCHAR(255) NOT NULL, NAME_ VARCHAR(255) NULL, CATEGORY_ VARCHAR(255) NULL, KEY_ VARCHAR(255) NULL, DEPLOY_TIME_ datetime NULL, TENANT_ID_ ...
Flowable – 运行UI
Flowable最近的版本已经是6.6了,源码的下载地址:
https://github.com/flowable/flowable-engine.git
不过github的地址下载速度堪忧,所以可以尝试一下国内的镜像:
https://gitee.com/mirrors/flowable.git
之前一直介绍的都是如何整合自带的编辑器,如果只是想入门,或者想体验一下Flowable,可以直接使用其自带的管理界面。
在6.4版本内,它的UI是分为多个Module管理的,如下图:
...
Flowable6.4 – 绘制流程图
一般需要流程图的场景:
1. 发起流程时,需要从全局了解整体情况、所涉及的经办人,便于必要时进行催办或者发起线下沟通。
2. 流程运行时或结束后,查看流程所经历的办理过程。
在Flowable中,流程图的绘制可以参见:
org.flowable.image.impl.DefaultProcessDiagramGenerator
本文将分成两部分,简单介绍一下流程图的绘制和办理节点的高亮现实。
首先,如何绘制流程图。
总共三个步...