工作流
文章平均质量分 93
activiti工作流基础知识
吴声子夜歌
个人学习记录
展开
-
Flowable——历史查询
下面的例子获取流程id为"123"的、启动时提交或任何任务中提交的所有表单参数。获取所有流程中,完成所花费时间(持续时间)排名前10的、流程定义为XXX的、已完成的HistoricProcessInstances(历史流程实例)。获取已完成的、id为’XXX’的流程实例中,所有的HistoricVariableInstances(历史变量实例),并以变量名排序。获取最新的、已完成的、流程定义的id为XXX的、服务任务类型的HistoricActivityInstance(历史活动实例)。原创 2023-09-19 23:07:53 · 3349 阅读 · 0 评论 -
Flowable——表单详解
或。原创 2023-09-19 17:31:05 · 7050 阅读 · 1 评论 -
Flowable——集成SpringBoot
目录Flowable集成SpringBoot1、引入依赖2、application.yml3、配置Flowable生成流程图中文4、启动类5、流程图文件6、监听器7、控制器8、测试8.1、启动流程8.2、查询待办列表8.3、批准任务8.4、生成流程图Flowable集成SpringBoot1、引入依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>sprin原创 2023-09-18 23:16:47 · 1880 阅读 · 3 评论 -
Flowable——配置详解
默认情况下,Flowable的数据库配置保存在每个web应用WEB-INF/classes文件夹下的db.properties文件中。有时这样并不合适,因为这需要用户修改Flowable源码中的db.properties文件并重新编译war包,或者在部署后解开war包并修改db.properties文件。在Flowable V6中唯一可用的作业执行器,是Flowable V5中的异步执行器(async executor)。当然,参数的“最佳”取值,取决于总的流程定义数量,以及实际使用的流程定义数量。原创 2023-09-17 21:56:48 · 3951 阅读 · 0 评论 -
Flowable——表结构
工作流程的相关操作都是操作存储在对应的表结构中,为了能更好的弄清楚Flowable的实现原理和细节,我们有必要先弄清楚Flowable的相关表结构及其作用。原创 2023-09-17 21:20:22 · 270 阅读 · 0 评论 -
Flowable——UI应用
下载Tomcat:https://tomcat.apache.org/download-80.cgi 官网下载后解压缩到非中文目录即可,然后是下载FlowableUI的文件,在Flowable6.6之后把FlowableUI中提供的四个功能合并到了一起。每个应用的WAR文件可以部署在相同的servlet容器(如Apache Tomcat)中,也可以部署在不同的容器中。启动成功后,在浏览器中访问 http://localhost:8080/flowable-ui, 默认的账号密码是 admin/test。原创 2023-09-17 16:58:52 · 434 阅读 · 0 评论 -
Flowable——环境构建及基本应用
流程定义holiday-request.bpmn20.xml:[CDATA[${![CDATA[${![CDATA[${![CDATA[${![CDATA[${![CDATA[${![CDATA[${![CDATA[${![CDATA[${![CDATA[${![CDATA[${![CDATA[${![CDATA[${![CDATA[${![CDATA[${![CDATA[${![CDATA[${![CDATA[${![CDATA[${![CDATA[${![CDATA[${![CDATA[${!原创 2023-09-16 22:51:59 · 316 阅读 · 0 评论 -
Activiti——Web环境下基本业务功能
目录1、流程定义列表2、部署流程资源3、读取流程资源4、删除部署的流程5、读取流程启动表单6、根据表单启动流程7、获取待办任务8、签收任务9、读取任务表单10、完成任务11、保存审批意见12、读取审批意见13、更改任务属性14、添加任务参与人15、删除任务参与人16、添加候选人、候选组17、删除参与人、候选人及候选组18、添加子任务19、查询子任务及上级任务20、查询历史任务21、保存文件类型附件22、保存URL类型附件23、下载附件24、删除附件25、查询用户参与过的流程26、查询已经结束的流程实例27、原创 2023-09-15 22:31:34 · 289 阅读 · 0 评论 -
Activiti——表单
目录Activiti的表单1、概述2、表单属性3、外部表单4、动态表单Activiti的表单1、概述对于一些较为稳定的业务流程,全部的功能可以直接由程序员实现,这些功能包括流程的制定、具体领域业务代码的实现和表现层交互实现等,但是在实际应用中,不变的业务并不存在。为了让程序能更好地适应业务流程的变化,在工作流领域出现了动态流程和动态表单等概念。Activiti提供了两种设置表单的方式,流程引擎的开发者可以根据不同的情况来选择合适的方式。2、表单属性可以在流程的开始事件或者任务中使用activit原创 2023-09-14 23:18:04 · 1590 阅读 · 0 评论 -
Activiti——整合SpringBoot
在Activiti7官方下载的Example中找到DemoApplicationConfig类,它的作用是为了实现SpringSecurity框架的用户权限的配置,这样我们就可以在系统中使用用户权限信息。因为Activiti7与SpringBoot整合后,默认情况下,集成了SpringSecurity安全框架,这样我们就要去准备SpringSecurity整合进来的相关用户权限配置信息。本次项目中基本是在文件中定义出来的用户信息,当然也可以是数据库中查询的用户权限信息。原创 2023-09-14 17:51:11 · 363 阅读 · 0 评论 -
Activiti——流程回退和会签
使用参数启动流程,需要注意的是,启动流程时设置了“pass”参数为true,表示默认通过。当流程通过一个流程节点后,Activiti会记录流程的历史记录,流程的当前活动已经不再是通过的这个节点,如果想做到“毫无痕迹”的回退,那么就需要非常熟悉Activiti的数据库设计,自己编写数据。在图所示的流程中,如果审核任务不通过,就会触发信号边界事件,执行流会进入到补偿处理的任务中,补偿任务主要处理款项申请中实际产生的业务数据(非流程数据),如果没有发生任何的业务数据变化,那么可以不必存在该任务。原创 2023-09-12 23:19:18 · 3239 阅读 · 0 评论 -
Activiti——流程图XML以及与流程文件的转换
在这个XML片断中,一个BPMNShape表示一个流程元素,这是流程元素对应的流程图的描述,以上的XML表示“startevent1”这个流程元素,高为“35”,宽为“35”,X坐标值为“360”,Y坐标值为“170”,其中X和Y坐标是相对于“画布”中的原点(0,0)而言的,每个设计器的画布原点有可能不一致,以Activiti的Eclipse插件为例,Activiti流程设计器的原点在设计器的左上角。,任务、事件和网关等这类流程元素,可以使用节点来表示,它们在表现上都有一个共同点:只有一个位置信息。原创 2023-09-12 22:41:57 · 1745 阅读 · 0 评论 -
Activiti——整合Spring
pom.xml2、Spring配置文件activiti-spring.xml3、创建流程文件helloworld.bpmn原创 2023-09-12 21:37:29 · 94 阅读 · 0 评论 -
Activiti——顺序流、网关、多实例及补偿处理详解
目录Activiti顺序流、网关、多实例及补偿处理详解1、顺序流1.1、条件顺序流1.2、默认顺序流2、流程网关2.1、单向网关2.2、并行网关2.3、兼容网关2.4、事件网关3、流程活动特性3.1、多实例活动3.2、设置循环数据3.3、获取循环元素3.4、循环的内置参数3.5、循环结束条件3.6、补偿处理者Activiti顺序流、网关、多实例及补偿处理详解1、顺序流顺序流主要用于连接流程中的两个元素,在流程图中,其主要用来展示流程的走向。BPMN规范对关于顺序流的连接也提供了连接规则,例如顺序流不能原创 2023-09-09 16:53:47 · 1773 阅读 · 0 评论 -
Activiti——子流程应用详解
目录子流程1、嵌入式子流程2、调用式子流程3、调用式子流程的参数传递4、事件子流程5、事务子流程6、特别子流程子流程子流程是一种特殊的流程活动,它可以包含其他的流程元素,例如流程任务、流程网关、流程事件和顺序流等,它是一个较大的流程的组成部分,或者可以将其看作流程中的一个容器,用于存放其他流程活动。在BPMN规范中定义了5种子流程:嵌入式子流程、调用式子流程、事件子流程、事务子流程和特别子流程。Activiti5支持前4个子流程,Activiti6新增了对特别子流程(Ad-Hoc Sub-Process原创 2023-09-09 15:34:58 · 4326 阅读 · 1 评论 -
Activiti——流程任务详解(三)
目录Activiti流程任务5、其他任务5.1、手动任务和接收任务5.2、邮件任务5.3、Mule任务和业务规则任务6、任务监听器6.2、使用expression指定监听器6.3、使用delegateExpression指定监听器6.4、监听器的触发6.5、属性注入7、流程监听器7.1、配置流程监听器7.2、触发流程监听器的事件Activiti流程任务5、其他任务除了前面讲述的三种任务外,BPMN中还包括Send Task、Receive Task、Manual Task和Business Rule原创 2023-09-07 16:39:43 · 1251 阅读 · 0 评论 -
Activiti——流程任务详解(二)
目录Activiti流程任务4、服务任务4.1、Java 服务任务4.2、实现JavaDelegate4.3、使用普通JavaBean4.4、在Activiti中调用Web Service4.5、import元素4.6、itemDefinition和message元素4.7、interface与operation元素4.8、设置Web Service参数与返回值4.9、发布Web Service4.10、使用Web Sercice Task4.11、JavaDelegate属性注入4.12、在JavaDel原创 2023-09-07 15:48:49 · 1442 阅读 · 0 评论 -
Activiti——流程任务详解(一)
目录Activiti流程任务1、BPMN2.0任务1.1、任务的继承1.2、XML约束1.3、任务的类型2、用户任务2.1、分配任务候选人2.2、分配任务代理人2.3、权限分配扩展2.4、使用任务监听器进行权限分配2.5、使用JUEL分配权限3、脚本任务3.1、脚本任务3.2、JavaScript脚本3.3、Groovy脚本3.4、设置返回值3.5、JUEL脚本Activiti流程任务任务是流程的核心元素之一,任务表示在流程中需要完成的工作。BPMN2.0中定义了多种任务,每种任务都有不同的属性,完成不原创 2023-09-07 14:42:49 · 1863 阅读 · 0 评论 -
Activiti——历史数据和流程引擎管理HistoryService、ManagermentService API详解
这里写自定义目录标题Activiti历史数据和流程引擎管理1、历史数据管理1.1、历史流程实例查询1.2、历史任务查询1.3、历史行为查询1.4、历史流程明细查询1.5、删除历史流程实例和历史任务2、工作的产生2.1、异步任务产生的工作2.2、定时中间事件产生的工作2.3、定时边界事件产生的工作2.4、定时开始事件产生的工作2.5、流程抛出事件产生的工作2.6、暂停工作的产生2.7、无法执行的工作3、工作管理3.1、工作查询对象3.2、获取工作异常信息3.3、转移与删除工作4、数据库管理4.1、查询引擎属性原创 2023-09-06 20:53:30 · 1376 阅读 · 0 评论 -
Activiti——流程控制RuntimeService API详解
目录Activiti流程控制1、流程实例与执行流1.1、流程实例与执行流概念1.2、流程实例和执行流对象(ProcessInstance与Execution)2、启动流程2.1、startProcessInstanceById方法2.2、startProcessInstanceByKey方法2.3、startProcessInstanceByMessage方法3、流程参数3.1、设置与查询流程参数3.2、流程参数的作用域3.3、其他设置参数的方法4、流程操作4.1、流程触发4.2、触发信号事件4.3、触发消原创 2023-09-05 23:27:53 · 2216 阅读 · 0 评论 -
Activiti——流程任务TaskService API详解
目录Activiti流程任务1、任务的创建与删除1.1、Task接口1.2、创建与保存Task实例1.3、删除任务2、任务权限2.1、设置候选用户组2.2、设置候选用户2.3、权限数据查询2.4、设置任务持有人2.5、设置任务代理人2.6、添加任务权限数据2.7、删除用户组权限2.8、删除用户权限3、任务参数3.1、基本类型参数设置3.2、序列化参数3.3、获取参数3.4、参数作用域3.5、设置多个参数3.6、数据对象4、任务附件管理4.1、Attachment对象4.2、创建任务附件4.3、附件查询4.4原创 2023-09-05 17:18:52 · 5731 阅读 · 2 评论 -
Activiti——流程存储RepositoryService API详解
目录Activiti流程存储1、流程文件部署1.1、Deployment对象1.2、DeploymentBuilder对象1.3、添加输入流资源1.4、添加classpath资源1.5、添加字符串资源1.6、添加压缩包资源1.7、添加BPMN模型资源1.8、修改部署信息1.9、过滤重复部署1.10、取消部署时的验证2、流程定义的管理2.1、ProcessDefinition对象2.2、流程部署2.3、流程图部署2.4、流程图自动生成2.5、中止与激活流程定义2.6、流程定义缓存配置2.7、自定义缓存3、流程原创 2023-09-04 00:35:53 · 800 阅读 · 0 评论 -
Activiti——用户组与用户IdentityService API详解
IdentityService提供了一个deleteGroup方法用于删除用户组数据,用户与用户组数据属于Activiti中的基础数据,这些数据会被流程中的各类数据引用(一般使用ID列作为外键关联),此时要删除这些基础数据,可以使用以下两种设计方案。listPage方法与Iist方法类似,最终也是以主键升序排序返回结果集,与list方法不一样的是,listPage方法需要提供两个int参数,第一个参数为数据的开始索引,从0开始,第二个参数为结果数量,不难看出,该方法适用于分页查询。原创 2023-09-02 15:32:25 · 1203 阅读 · 0 评论 -
Activiti——流程引擎的创建
这里所说的注册,实际上是在ProcessEngines类中维护一个Map对象,该对象的key为ProcessEngine实例的名称,value为ProcessEngine的实例,当向ProcessEngines注册ProcessEngine实例时,实际上是调用Map的put方法,将该实例缓存到Map中。ProcessEngines的destroy方法,顾名思义,是对其维护的所有ProcessEngine实例进行销毁,并且在销毁时,会调用所有ProcessEngine实例的close方法。原创 2023-09-01 15:06:30 · 254 阅读 · 0 评论 -
Activiti——流程引擎配置详解
默认情况下Activiti将到ClassPath下读取activiti.cfg.xml文件,如果希望Activiti读取另外名称的配置文件,则可以使用方法创建ProcessEngineConfiguration,该方法的参数为一个字符串对象,当调用该方法时,需要告诉Activiti配置文件的位置。//指定配置文件创建ProcessEngineConfiguration。原创 2023-09-01 13:48:39 · 3111 阅读 · 0 评论 -
Activiti——BPMN2.0规范详解(二)
目录Activiti与BPMN2.0规范(二)4、网关4.1、排他网关4.2、并行网关4.3、包容网关4.4、事件网关5、子流程与调用活动5.1、子流程5.2、调用活动5.3、事件子流程5.4、事务子流程6、边界与中间事件6.1、边界事件6.1.1、定时器边界事件6.1.2、异常边界事件6.1.3、信号边界事件6.1.4、取消边界事件6.1.5、补偿边界事件6.2、中间捕获事件6.2.1、定时器中间捕获事件6.2.2、信号中间捕获事件6.2.3、消息中间捕获事件6.3、中间抛出事件6.3.1、空中间抛出事件原创 2023-09-01 01:43:26 · 1166 阅读 · 0 评论 -
Activiti——BPMN2.0规范详解(一)
终止结束事件是结束事件中的一个比较特别的类别,它可以终止一个流程实例的执行,例如在付费流程中因为某些原因导致流程不能继续运行,最终的结果是取消本次付费,所以需要提前结束流程实例的执行,此时可以把某个输出流指向到终止结束事件。启动事件都是“捕获型”的,等待第三方触发后才可以启动。在介绍Activiti的扩展属性之前,需要先明白规则引擎的作用,简单来说就是把业务数据交由规则引擎处理,规则引擎根据不同业务规则(各种条件的判断)计算得出最终结果,最后把结果返回给调用者,在BPMN2.0中的调用者为流程引擎。原创 2023-08-31 14:54:51 · 2945 阅读 · 0 评论 -
Activiti——数据库表结构详解
Activiti在部署添加资源时,如果发布部署的文件是流程文件(.bpmn或者.BPMN20.xml),则除了会解析这些流程文件,将内容保存到资源表外,还会解析流程文件的内容,形成特定的流程定义数据,写入流程定义表()中。ACT_RE_PROCDEF表主要包含CATEGORY_:流程定义的分类,读取流程XML文件中的targetNamespace值。NAME_:流程定义名称,读取流程文件中process元素的name属性。KEY_:流程定义的key,读取流程文件中process元素的id属性。原创 2023-08-29 23:53:44 · 5542 阅读 · 0 评论 -
Activiti——简介与基础概念
Activiti是一个针对企业用户、开发人员、系统管理员的轻量级工作流业务管理平台,其核心是使用Java开发的快速、稳定的BPMN日2.0流程引擎。Activiti是在ApacheV:2许可下发布的,可以运行在任何类型的Java程序中,例如服务器、集群、云服务等。Activiti可以完美地与Spring集成。同时,基于简约思想的设计使Activiti非常轻量级。原创 2023-08-29 22:33:27 · 657 阅读 · 0 评论 -
Activiti——搭建环境(Maven+MySQL)
目录搭建Activiti开发环境1、引入依赖2、配置文件2.1、日志配置2.2、activiti配置2.2.1、直接配置processEngineConfiguration2.2.2、配置数据源后,在processEngineConfiguration 引用3、生成表结构3.1、Activiti支持的数据库3.2、在MySQL生成表4、表结构简介4.1、表的命名规则和作用4.2、Activiti数据表介绍5、Hello World5.1、流程定义文件5.2、单元测试5.3、添加业务节点搭建Activiti原创 2023-08-27 16:22:43 · 546 阅读 · 0 评论