NEW

RocketMQ – 与Spring Cloud Stream结合

最近在加班,五一看了一遍《钢之炼金术师》,空闲时间又对Netty产生了兴趣,还得陪闺女,然后TBC怀旧又要蹭一波热度去,所以时间不够用,更新十分缓慢。 我在学习RocketMQ怎么和Spring Cloud结合的时候,首先被下面这个问题困扰: Spring Cloud Bus和Spring Cloud Stream有什么不同?应用的场景都是什么样的? 后来吧,我得出了一个非常简单的结论,无论什么场景都用Spring Cloud Stream就完事了...

RocketMQ – 入门

最近鼓捣了几个小玩意: RocketMQCASJWT 有空就记录一下,顺便再梳理一下思路,以后看自己写的东西也比看别人的易于理解。 如何下载? RocketMQ的下载地址如下: http://rocketmq.apache.org/dowloading/releases/ RocketMQ对于JDK版本的要求还是挺清晰的: 这里测试的话,我没有下载源码进行编译,以后想看源码的话再说。直接下载的是rocketmq-all-4.8.0-bin-release.zip。 ...

Flowable6 – 获得待办

十年前,同时带三个项目,还能记清楚各种细节。十年后,记事本翻页,就已经记不清楚上一页内容了。 花有重开日,人无再少年。相逢拌酩酊,何必备芳鲜 距离上一篇好长时间了,今天有点力气,简单说说Flowable的待办吧。 其实所谓的待办,归根到底就是通过查询act_ru_identitylink这张表得到的。 如果使用它的API接口来实现,简单的代码如下: taskService.createTaskQuery().taskCandidateU...

Flowable6 – 获得下一节点

打了个疫苗,找个借口歇一下。面试太多,再找个借口歇一下。没啥内容可写,继续歇一下。 躺着是最舒服的。好了,言归正传(本文基于Flowable6.6测试通过)。 有的集成了流程引擎的系统提供流程执行预测功能,说白了就是按照流程图提前跑一下,看看会到达哪个节点。 要实现这个功能,大概的步骤如下:  获得当前的节点。获得当前节点的出口连接线。按照连接线获得下一个节点。如果是非用...

Flowable6 – 多实例子流程(会签的方案)

今天我要写这篇文章的时候,关注量变成了一个傻数,哈哈: 之前有一篇文章,介绍过基于多实例用户任务实现会签的方案 - 《Flowable6.4 - 会签实现方案》。 有的场景,使用多实例用户任务无法实现,比如下面这种会签场景: 在会签时,需要“部门普通员工”先审核,然后“部门主管”再审核,这种情况使用多实例用户任务显然无法实现,即使勉强实现,最终所描述的场景肯定有所欠缺。 在使用...

日志追踪

对于分布式系统,在某些场景下不但需要知道异常发生的位置,可能还需要知道异常发生时的上下游情况。 如果在日志中加入唯一标识来对上下游的信息进行分类,可以简单的满足日常的需要。 有两个开源项目实现了这个需求,分别是: //TLoghttps://gitee.com/bryan31/TLog.git//日志链路追踪https://gitee.com/ganbing518/trace.git 这两个项目的核心原理其实是一样的,都是通过Slf4j的MDC实现全局...

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...
Copyright © 字痕随行 保留所有权利.   Theme  Ality 京ICP备14039894号

用户登录

分享到: