activity
文章平均质量分 90
本专栏全面深入的汇聚了流程引擎activity的技术,以及activity在不同的使用场景中的使用,比如动态加签、减签、会签等,完整详细的案例在多场景中的运用帮您解决流程审批过程中的各种问题
优惠券已抵扣
余额抵扣
还需支付
¥19.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
小码农叔叔
这个作者很懒,什么都没留下…
展开
-
activity监听器使用
前言监听器在java众多的中间件中都有着广泛的使用,比如大家熟知的MQ,在处理消息时很大程度上要依赖监听器,对activity ,也提供了监听器以及对监听器内的各种事件进行定义,方便开发者在使用的时候方便的进行选择使用下面结合一个实例简单演示下监听器的2种使用方式方式1,流程监听器这种监听器针对某一个具体的流程,即该监听器是附加在特定的流程实例之上,当这个流程开始各种事件(流程启动,人员审批,流程结束等)时,监听器被触发生效,只需要实现TaskListener接口顾名思义,该接口的粒度是比较粗的,原创 2021-05-09 15:44:51 · 68813 阅读 · 0 评论 -
activity任意节点动态加签
前言在之前的章节中,我们聊到了activity可以解决动态的任意加签节点的问题,但那时候我们的加签节点是临时存储的,而在现实的业务中,往往需要通过创建自身的业务表与activity的表建立一定的业务关系,从而实现数据持久化,即我们加签的节点不能因为加签完毕后就找不到历史数据了activity和mybatis实现了较好了的整合,如果采用spring的xml方式进行配置的话,我们只需要导入mybatis的依赖并进行简单的配置即可下面我们先通过一个简单的例子,体验一下如何将自建的业务表数据存储进去1、建表原创 2021-01-04 18:01:21 · 68875 阅读 · 14 评论 -
activity网关使用
什么是网关网关用来控制流程的流向,简而言之,当流程实例在运转过程中,从一个节点跳转到下一个节点时,需要人为的控制某些条件,即只有满足这些条件的时候才会触发节点的跳转时,就可以考虑使用网关常用的网关activity提供了多种网关可供选择使用,从插件的流程设计器中大致可以看到有多种网关,分别是:并行网关、排他网关、包含网关以及基于事件类型的网关排他网关 Exclusive Gateway排他网关又叫互斥网关,条件计算为true的顺序流才会被选择继续流程,有且只有一条流程出线的出口,如果出现多个条件为原创 2020-07-05 16:42:53 · 58732 阅读 · 0 评论 -
activity动态加签任意节点
前言设想这么一种场景,一个流程有3级审批,其中第一级审批完毕后本应该到达二级审批的,但是可能觉得这个流程模板设置的不尽合理,需要再在上面增加一级审批人,即变成4级审批,这个需求该怎么做呢?按照我们初步的设想,解决办法大概有这么两种思路:第一,修改流程模板这是一种大家很容易想到的方法,即重新更新一下流程定义文件,更改审批节点的审批人,所谓直接修改模板。在模板中添加节点以及连线,并修改实例的走向。第二,修改流程定义对应的缓存数据即不修改模板,新增的节点与当前需要加签的实例挂钩,关于缓存数据,我们可以原创 2020-07-04 18:23:01 · 85703 阅读 · 54 评论 -
activity多实例节点任意跳转
前言上一篇我们简单演示了单实例节点跳转的过程,在实际业务场景中,多实例节点的跳转也是一种常见的跳转场景,举例来说,当前的节点配置的是会签,即多个实例任务的节点,需要从当前节点跳出去该怎么办呢?或者说从某一个单实例节点再跳入到多实例节点,又该如何实现呢?activity对于这样的场景也提供了解决方案问题解决思路想必还记得我们在之前的篇章中谈到的那个流程实例跳转过程中的3级实例树吧?以多实例节点跳出为例需要的参数,任务ID、目标节点判断当前的节点是否是多实例任务节点获取二级执行实例信息删除二级实原创 2020-07-01 23:16:29 · 68484 阅读 · 12 评论 -
activity任意节点跳转
前言在实际业务中,总会碰到一些特殊的需求,比如要实现任意两个审批节点之间的跳转,举例来说,某个审批流程有3级审批,来了这么个需求,一级审批完结之后在满足特定的条件下,可以直接进入到3级审批,即跳过中间的二级审批,所幸activity提供了这样的解决方案本例我们用代码简单演示一下其实现流程1、定义流程文件2、部署与启动流程实例 //部署 public static void main(String[] args) { ProcessEngine processEngine原创 2020-06-28 20:48:22 · 26028 阅读 · 2 评论 -
activity多实例任务加签
前言加签是减签的相反的操作,加签与减签的思路刚好相反,减签是删数据;加签则是添加数据。在一些特殊场景下,需要在某个多实例节点上面动态新增一个审批人员或任务时,就需使用到activity多实例任务加签的功能加签思路1根据一级流程实例查找二级流程执行实例判断二级执行实例是否是多实例任务节点的父级实例通过两级执行实例创建三级执行实例;通过二级执行实例获取nrOfInstances并+1加签思路2通知新的实例开始执行,并创建相应的数据执行用户任务行为类,进而创建任务相关的数据注意:不要触原创 2020-06-26 17:50:48 · 31173 阅读 · 2 评论 -
activity多实例任务减签
前言加签或减签的操作在多实例任务节点中是经常遇见的,举例来说,某个审批节点配置了5个人审批,但是其中某个人因为特殊的原因无法进行审批了怎么办?这时候就需要用到减签的操作了下面我们通过一个简单的案例来演示下过程减签的总体实现思路1、根据什么进行减签:执行实例ID,是否正常完成当前的节点2、根据执行实例Id获取到当前的执行实例(三级实例)3、根据执行实例Id获取到当前执行实例的父级实例(二级实例)4、根据二级执行实例删除三级实例数据,并删除关联数据(关联表)5、根据二级执行实例获取nrOfIn原创 2020-06-26 16:04:44 · 49480 阅读 · 5 评论 -
activity串行多实例审批
前言在审批场景中,有这么个需求,某个节点需要多个人审批,但这些人需要按照一定的顺序进行审批才算完成,这就需要用到activity串行多实例会签;下面就来探讨一下在这种场景下的具体实现1、定义流程文件该图和上一篇的差不多,需要修改的地方在于,Sequential的这个参数需要勾选上,意思就是说,在节点为多实例的情形下,是否顺序审批,默认为false,即其中多个任务审批时没有顺序的2、部署并启动流程实例 public static void main(String[] args) {原创 2020-06-26 09:56:22 · 33986 阅读 · 5 评论 -
activity多实例任务节点审批
前言在上一篇,我们演示了如何基于组任务进行审批,其实从任务分类上看,属于单实例任务,即每个审批节点只有一个任务实例,为什么这么说呢?这就要说到activity的多实例任务了。activity对于单个审批节点来说,可能存在需要多个审批人的场景,即只有多个人审批完毕这个节点才算结束,通俗来说,就是我们熟悉的会签(多个人审批通过)以及或签(某个人审批通过),下面我们来演示一下这种场景的使用1、定义流程文件这里需要说明的是,节点的其他定义都类似,但是配置某个节点为多实例的时候,需要配置的地方如图中所示,即原创 2020-06-25 22:02:22 · 55318 阅读 · 4 评论 -
activity组任务使用
前言在使用activity进行节点的任务审批时,有这样一种需求,某个审批节点的实际审批人可能存在多个,这样就存在了一个审批组的概念;事实上,这种用法在OA系统或其他企业级内部项目的业务中是很常见的,配合权限体系,可以将审批权限拆分到用户组,而用户组里又可以添加不同的审批人,用户组又可以分配相应的权限,这样整个审批权限体系就可以流通了下面将通过一个简单的案例演示一下activity组任务的使用方式1、定义流程文件流程文件很简单,就是一个二级请假审批,但是在经理审批这个节点上,我们并没有直接指定由具原创 2020-06-25 18:12:56 · 25065 阅读 · 3 评论 -
activity流程变量使用
前言activity中有一个非常强大的功能就是可以动态设置流程变量,activity的流程变量的用处总结下来,作用有几点,一是可以动态为某个流程节点设置执行条件,在流程运转的过程中进行传递,第二个就是配合网关和监听器一起控制任务的触发条件,下面先看一个简单的例子仍然以之前的一个请假流程审批为例进行说明我们还记得在第一个节点上面,配置的流程审批人是 “zhangsan”,但是在真实的业务中,在定义流程文件的时候可能并不是一开始就能确定各个环节的审批人,这时候activity的UEL变量表达式就派上用场原创 2020-06-25 15:39:06 · 57069 阅读 · 0 评论 -
activity指定节点审批人
前言在上一篇,我们演示了一个简单的审批流程各节点顺序审批到流程结束的过程,但在实际业务中,每个审批节点经常会指定审批人的,总不能说,任意一个人进来了都可以对这个流程进行审批吧,这就需要指定任务节点的审批人1、定义流程文件,指定节点审批人如下图所示,我们在bpmn流程定义文件中,编辑各个节点属性,在属性中的Assignee的这一栏,指定审批人名字,比如“填写请假单”我们指定的审批人是 zhangsan ,经理审批指定的是 lisi2、部署流程文件并启动流程按照步骤,我们重新部署一下这个流程文件然后原创 2020-06-25 13:22:50 · 71408 阅读 · 5 评论 -
activity启动流程与任务执行
前言在上一篇中,我们快速搭建并部署了一个bpmn的流程文件,流程文件部署起来后,后续就要开始走流程了,下面我们就来完成流程实例的启动与任务的执行与跳转1、启动流程实例紧接着使用上一篇的流程图,流程文件部署之后,需要通过程序启动这个流程文件,流程才能开始运转,这里我啰嗦几句,因为本人也在这个地方的理解上一开始有点混淆设想一下,流程文件就是一个模板,模板定义好了以后,大家就可以拿着这个模板使用了,至于怎么使用就看各自的使用者了,一旦使用者开始用了,就代表开启了一个实例,即所谓的流程实例,模板本身没有意义原创 2020-06-25 11:16:25 · 2225 阅读 · 0 评论 -
activity6快速部署流程文件
前言工作中用到了activity6,个人觉得activity作为一款优秀的开源工作流引擎框架,得到众多企业的追捧而且经历了这么多年依然生命力不减值得花时间好好研究,接下来将通过几篇文章好好说说activity6本篇是第一篇,聊聊怎么在本地快速将bpmn流程定义文件快速部署起来,以便后续的研究使用步骤1、idea安装activity插件这个在百度上一大堆的教程,这里不再赘述了,安装完后,重启一下idea即可注意点为了让bpmn支持中文定义,在idea的bin目录下将下面这行配置加到如下两个文件的原创 2020-06-25 10:30:06 · 5081 阅读 · 1 评论 -
sprinboot整合activity
本篇我们简单说说如何使用springboot集成activity6,因为在实际应用中,两者进行整合后在业务中进行流程数据的处理会更加方便,关于activity的使用API,这里暂时不做详细介绍了,大家可以参阅相关资料整个demo的结构如下,1、添加pom依赖<parent> <groupId>org.springframework.boot</groupI...原创 2019-07-22 23:02:25 · 24895 阅读 · 1 评论 -
windows快速搭建activity6.0
activity作为一款开源流程引擎框架,在全世界都有着广泛的运用,尤其是在涉及到业务流程的审批方面,使用activity是个不错的选择,关于activity基本的知识,可以参考相应的资料,网上的比较多,这里主要分享一下如何在本机环境下快速将activity部署并运行起来,环境准备JDK1.8 , tomcat8 ,activity6JDK相信大多数老铁们都安装了吧,tomcat8直...原创 2019-07-20 10:21:44 · 1729 阅读 · 0 评论