Activiti
机灵小白
菜鸟很奋斗,专攻前端框架,后端Spring,以及初学大数据Phython
展开
-
Activiti流程框架_项目实战10指定任务办理人
在这篇,小白想聊聊有关流程中使用比较频繁的用户任务,既然是用户任务,那么必不可少的需要指定任务的办理人或者候选人,然后当流程运行到该用户任务节点时,才能让指定的人审批处理; 一般用户任务的办理人,可以设置具体的办理人或者候选人 ,其设置方式有以下三种:直接在流程模型中写死办理人或候选人的Id,项目中不推荐;采用流程变量赋值;通过委托类(TaskListener监听类)动态设置;下面让我们从项目的角度一同介绍2和3方法的结合使用吧!流程变量赋值 在指定流程的发起者时,可以在流程模型的原创 2020-10-19 21:01:03 · 998 阅读 · 0 评论 -
Activti流程框架_项目实战09超时邮件提醒03
在上篇中小白通过监听者模式,实现了对定时事件TIME_FIRED的捕捉,接下来我们需要在处理器globalEventListenerImpl中统一处理邮件发送,开始吧!引入Maven依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId></dependency>原创 2020-09-07 20:40:28 · 697 阅读 · 0 评论 -
Activti流程框架_项目实战08超时邮件提醒02
在上篇中小白采用附着在用户任务上的边界时间事件间隔触发TIME_FIRED事件,那么接下来,我们需要在流程中定义一个全局的事件监听器,用来捕获具体事件【TIME_FIRED】,并进行业务处理【超时邮件提醒】;定义全局事件监听器 从Activiti5.15版本开始添加了全局事件监听器,可以用来监听一个引擎实例的所有流程或者作用于一个流程实例的所有发生事件包括TIME_FIRED,触发了定时器;它采用的是典型的监听者模式,既可在引擎配置对象中配置事件处理器,也可在流程模型文件中配置,这里以流程模型文件原创 2020-09-03 20:18:14 · 859 阅读 · 0 评论 -
Activti流程框架_项目实战07超时邮件提醒01
最近业务项目需要新增【审批超时邮件提醒】的功能,具体意思就是在用户任务长时间未被审批时,就定期发邮件提醒。初步想到的解决办法是结合以下技术完成:采用边界时间事件定时触发TIME_FIRED事件;全局ActivitiEventListener事件监听器监听TIME_FIRED事件;JavaMailSenderImpl写邮件发送; 下面就跟随小白具体实现吧!首先了解一下ISO8601时间格式语法;1、ISO8601时间格式语法格式:【重复次数/开始时间/间隔时间】,由三部分组成;1.1原创 2020-09-03 19:52:30 · 1476 阅读 · 0 评论 -
Activti流程框架_项目实战06高亮流程图
该篇小白想聊一聊项目中如何高亮流程图,在默认情况下,activiti提供的API只能将已运行的节点和当前节点按红色边框默认设置,那么如何自定义出给定的颜色边框以及字体颜色呢?下面是两种高亮流程图的对比。注:本篇的内容是借鉴了其他博主的博客,并通过实际项目验证了可行性;1、自定义类和接口1.1 定义ICustomProcessDiagramGenerator接口package com.hlmc.webapp.activiti;import java.awt.Color;import jav原创 2020-08-23 18:23:59 · 940 阅读 · 0 评论 -
Activti流程框架_项目实战05外置表单和签核按钮
在上一篇中小白给大家介绍了在项目中如何进行流程设计与部署,知道在部署的时候需要将流程设计模型xxx.bpmn、外置表单xxx.form以及流程图片xxx.png一起压缩后,再部署到项目服务器上,那么接下来和大家聊聊外置表单的设计特点,作为前面表单选择篇幅的补充说明,然后在介绍有关签核按钮的动态绑定;1. 外置表单1.1 字段申明 表单字段申明需要区分为两类:业务字段、批注字段,业务字段是用来更新业务数据的,同时业务字段又可分为不变字段和可变字段,所谓不变字段就是readOnly=” readon原创 2020-08-20 19:47:16 · 358 阅读 · 0 评论 -
Actitivi流程框架_项目实战04流程设计与部署
在上一篇中给大家介绍了小白(我)在项目中如何选择签核表单的生成方式,那么接下来小白想和大家聊聊在项目中是如何设计与部署流程的,这里先说明一下由于环境因素不同,过程略有差异,小白与用户之间的流程商谈环节较为简单,直接由用户通过PTT的形式将用户设计好的流程传达给小白(没有要求用户使用在线的activiti-moduler设计),然后小白就开始在activti-designer模型设计器中有模有样地设计出与ppt大致类似的流程图,当然PPT上有些不明白的地方也会找用户重新洽谈,直到流程设计满意为止,最后再将原创 2020-08-18 19:05:00 · 378 阅读 · 0 评论 -
Activiti流程框架_项目实战03表单选择
在上一篇中介绍了如何在流程的运行中更新业务表,该篇我们来聊聊在项目中,签核表单的形成方式,目前的话一共有三种动态表单、外置表单、普通表单,那么在项目中我们该如何抉择选用哪种更适合呢?首先让我们分析一下三种方式的优缺点。优缺点1、 动态表单适合简单流程,在实际项目开发中使用较少,在我的实际开发时会碰到一个问题,很难根据表单类型type=“string”,来决定界面渲染上到底用input类型为“text”还是“textarea”标签表达;2、 外置表单,具有去冗余的效果,可以让所有表单界面都使用同一视原创 2020-08-17 18:56:15 · 502 阅读 · 0 评论 -
Activti流程框架_项目实战02更新业务
在上一篇中介绍了采用业务存储模式一的方式在流程中绑定业务;接下来该篇将记录实战中我是如何控制在流程运作的时候(启动、任务办理),同时更新业务表的,下面是实战中用到的流程模型;创建CustomBusinessService接口 为了能够在一个Controller中映射所有的流程请求,需要创建一个属于所有业务的公共服务接口CustomBusinessService, 在处理所有业务的CURD时,采用接口泛型的方式,统一由父类CustomBusinessService处理;public interf原创 2020-08-07 22:48:23 · 281 阅读 · 0 评论 -
Activiti流程框架_项目实战01关联业务
读Activiti有感 网上挺多关于activiti基于junit4的测试实例,通过实例测试,我们可以方便地了解到activiti是如何通过Api控制27张表(以act_开头的表)的CURD,但是在结合项目的使用过程中,你就会发现,这些测试实例其实都较为肤浅,只适合在认知阶段和测试阶段帮助用户理解activiti的API使用方法和确保流程模型在执行过程中的准确性,而真正用在项目开发中时,就会感觉到比较鸡肋。刚巧最近有个项目需求,要求在原有的springBoot项目中嵌入审批流程,所以该篇之后的篇幅都会结原创 2020-08-02 17:28:29 · 984 阅读 · 1 评论 -
Activiti流程框架_Springboot整合Activiti遇到的问题汇总
问题一:Springboot整合activiti后项目启动失败; 在整合之前项目可以成功的部署到tomcat上,但是在整合activiti的maven依赖后,<dependency> <groupId>org.activiti</groupId> <artifactId>activiti-spring-boot-starter-basic</artifactId> <version>5.22.0</versio原创 2020-07-10 19:24:25 · 1375 阅读 · 0 评论 -
Activiti流程框架_快速搭建测试环境
本篇主要介绍在办公环境无网络的情况下如何快速地搭建Activiti的测试环境,以便于日后的开发流程测试学习使用;搭建好的效果如下:搭建的过程主要包括以下步骤:1、 官网下载Activiti,不同版本Activiti的文件夹组织结构略有不同,以5.22.0为例;Database:包含了23张流程相关数据库的CRUD;Docs:包含用户手册以及JAVADOC文档;Libs:包含activiti相关的所有jar包,(注意:没有包含依赖jar包,比如jdbc数据库连接、mybatis持久框架、原创 2020-07-10 19:01:59 · 230 阅读 · 0 评论