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 本文将分成两部分,简单介绍一下流程图的绘制和办理节点的高亮现实。 首先,如何绘制流程图。 总共三个步...

Flowable6.4 – 在事件中使用API接口

标题名称有点长,因为不太好描述今天所分享的内容。今天这篇的目的有两个: 1. 在事件中,处于不同的阶段,使用不同的API进行数据操作。  2. 从侧面验证上一篇文章《Flowable6.4 - 事件,事务》的结论。 如果事件包裹在事务内,即: @Overridepublic boolean isFireOnTransactionLifecycleEvent() {    return false;} 如果使用createXXXXQu...

Flowable6.4 – 事件,事务

最近有个需求,假设流程节点都是同步的,在UserTask创建完成后,推送一条企业微信消息。 需求很简单,实现上也没有什么难度,但是在实现FlowableEventListener这个接口的时候,发现和事务有所联系。 然后,很自然的想到一个问题:这个事件的触发到底是在事务提交之后,还是在事务提交之前。如果在事务提交之前触发了事件,事务提交时又失败回滚,这条发出的消息岂不是无用的。 所以,我又去翻了...
Copyright © 字痕随行 保留所有权利.   Theme  Ality 京ICP备14039894号

用户登录

分享到: