Activiti6.0
fanrendale
爱生活,爱代码
展开
-
Activiti6.0——个人开发经验总结
一、实现驳回效果:使用互斥网关来设置判断条件,驳回时就指向指定的任务节点二、动态设置审批人:在任务节点上使用JUEL设置一个代理人变量,上一个任务在完成时动态传入该变量的值三、任务的候选人只有一个人的时候,可以不用候选人机制,只使用代理人就行四、实现驳回至对应的处理人:如果上一个任务的节点是一个人,则直接使用代理人变量(不会变)就行,不用重新指定代理人。如果上一个任务的候选人是一个用户...原创 2020-01-03 18:14:59 · 414 阅读 · 2 评论 -
第十二节:Activiti6.0——四种边界事件:定时器、错误、信号、补偿
一、概述边界事件:边界事件属于一种特殊的中间事件。区别是: 中间事件 可以单独作为流程元素存在于流程中,而 边界事件 必须附属于某个流程元素(如任务、子流程等)。边界事件是Catching事件。二、定时器边界事件说明:定时器边界事件会在定时器时间到了之后进行触发,需要开启异步执行器(在activiti.cfg.xml中)。此处模拟一个损坏的物品首先交给初级工程师修理,定时1分钟后没有修好就...原创 2019-12-10 20:02:12 · 2603 阅读 · 8 评论 -
第十一节:Activiti6.0——定时器开始事件、消息开始事件和错误开始事件介绍
一、概述介绍: 在activiti中,事件按位置分可以有:开始事件、中间事件、边界时间、结束事件;按事件的特性区分有:捕获事件和抛出事件。除了事件,还有各种事件定义,常用的有:定时器事件定义、错误事件定义、信号事件定义、消息事件定义 、取消事件定义、补偿事件定义等。事件和事件定义可以进行组合,成为特定的事件。此刻: 本文主要讲四种开始事件无指定开始事件:不为开始事件指定任何的触发条件的事件...原创 2019-12-06 00:36:03 · 1590 阅读 · 0 评论 -
第十节:Activiti6.0——四种Job工作的产生与管理
一、概述介绍: 流程在执行过程中会产生不同的任务。ServiceTask异步任务会产生异步任务,存放在一般工作表act_ru_job中。定时任务会产生定时的任务,在定时时间未到达之前会存放在定时工作表act_ru_timer_job中。挂起任务,比如将未到时间的定时任务手动暂停,则会存放在挂起任务表act_ru_suspended_job中。不可执行任务,如果任务执行失败,并且在重试次...原创 2019-12-04 00:16:09 · 1731 阅读 · 1 评论 -
第九节:Activiti6.0——ReceiveTask接收信号、中间信号捕获事件和中间消息捕获事件的流程推进
一、概述介绍: 在我们获取流程实例后,需要对流程进行推进,就是使执行流往前执行。本篇即介绍在不同情况下,流程自动推进的方法。主要是三种:①ReceiveTask接收信号后往前执行;②中间信号捕获事件接收信号后往前执行;③中间消息捕获事件接收消息后往前执行。二、ReceiveTask接收信号bpmn文件如下:编码如下:ProcessEngine processEngine ...原创 2019-11-28 00:03:03 · 1700 阅读 · 0 评论 -
第八节:Activiti6.0——启动流程相关
一、概述介绍:在启动流程后,每个流程实例都会有执行流(存储在actruexecution表中)。实例都有主执行流,没有父id的执行流是流程实例,其后如果流程中有一个分支则有一个子执行流,分支和子执行流一一对应。对执行流可以设置变量,设置子执行流的变量为本地(临时)变量(自在当前执行流有效),设置主执行流的变量为全局变量。二、执行流查看一个分支的流程测试。流程图如下:使用代码直接进...原创 2019-11-25 14:48:14 · 1115 阅读 · 0 评论 -
第七节:Activiti6.0——Task的变量使用
一、概述介绍:在任务的执行过程中,会有很多的变量参数(比如请假任务需要天数等)。变量从作用域来分:==本地变量==和==全局变量==。从类型区分:==基本变量==、==自定义变量==和==BPMN自带变量==。二、基本变量和自定义变量基本变量是activiti自带的类型,只需要调用taskService的setVariable方法设置就行。编码如下: ProcessE...原创 2019-11-21 13:06:31 · 1975 阅读 · 0 评论 -
第六节:Activiti6.0——流程任务:候选人、持有人和代理人
一、概述介绍:在activiti的任务中,与任务相关的任务为以下三种,其含义如下:候选人(组):代表有权限对任务进行操作的人。持有人:指当前任务的执行人,他此时持有该任务。代理人:当一个人持有人不方便处理任务时,可以将任务指给另一人,被指的人即为代理人。二、候选人介绍:任务和候选人的关系是一个中间表(act_ru_identitylink)来保存的,所有任务和候选人的关系是多对多。...原创 2019-11-17 17:40:11 · 5783 阅读 · 0 评论 -
第五节:Activiti6.0——流程定义相关API
一、概述介绍:在发布一次资源后,会生成对应的流程定义(存储在表act_re_procdef)中,该定义记录一个流程的信息,如下图所有:二、流程定义的发布生成我们的资源只有bpmn文件时,发布后activiti会帮我们生成对应的流程图png。如下:我们可以自己添加png资源,此时activiti就不会帮我们生成。代码如下:ProcessEngine processEngine =...原创 2019-11-16 19:54:52 · 571 阅读 · 0 评论 -
第四节:Activiti6.0——使用zip、bpmn代码生成流程图的资源部署以及资源的查询
一、发布资源说明:从存储服务RepositoryService可以获取发布生成器DeploymentBuilder,该生成器中可以调用添加资源的方法,有不同资源的添加,然后调用deploy()方法进行发布。具体的添加方法如下:DeploymentBuilder addInputStream(String resourceName, InputStream inputStream);Depl...原创 2019-11-14 15:33:10 · 1285 阅读 · 0 评论 -
第三节:Activiti6.0——Query的API使用
一、概述介绍:对于数据库的信息都可以使用Query接口提供的方法进行查询。此处介绍Query接口的所有API方法使用。为方便演示,使用的是act_id_group表。以下为:Query的所有方法:public interface Query<T extends Query<?, ?>, U extends Object> { /** * 该方法需要在调用or...原创 2019-11-12 09:35:54 · 710 阅读 · 0 评论 -
第二节:Activiti6.0配置文件的读取
概述:ProcessEngineConfiguration对象代表一个Activiti流程引擎的全部配置,该类提供一系列创建ProcessEngineConfiguration实例的静态方法,这些方法用于读取和解析相应的配置文件,并返回ProcessEngineConfiguration的实例。出这些静态方法外,该类为其他可配置的引擎属性提供相应的setter和getter方法此处用到的所有类关...原创 2019-11-09 17:04:13 · 550 阅读 · 0 评论 -
第一节:实现Activiti6.0的第一个demo
一、搭建项目架构使用idea需要安装actiBPM插件用来画流程图创建一个空的java项目,并添加文件夹如下:lib:存放需要使用的jar包,可从下面链接直接下载解压,记得加入将包加入项目中,如下:jar包提取码:c0zq resource:存放资源文件,比如bpmn流程文件等新建一个流程first.bpmn添加log4j.properties文件,配置日志log4j....原创 2019-11-08 10:45:32 · 592 阅读 · 0 评论