Activiti流程引擎初步掌握
文章平均质量分 86
本专栏介绍Activiti流程引擎的学习:
1、Activiti的介绍
2、安装部署Activiti流程
3、工作流入门与6.0源码的初步了解
4、绘制流程引擎的流程图
5、对流程图编码,实现简单的流程
6、流程引擎的配置
7、数据库设计与模型映射
8、工作流平台搭建、部署与运维
青山孤客
网易高级服务端开发工程师,软件设计师,信息系统项目管理师,杭州市E类人才。杭州电子科技大学工学硕士,曾访学圣彼得堡国立信息技术机械与光学大学(ITMO),在国际计算机软件和应用会议(COMPSAC)发表1篇学术论文,目前已申请国家发明专利4项,2项软件著作权。兴趣是数据开发、后端开发、信息系统项目管理等。
展开
-
IDEA下载Activiti源码后按Ctrl键加左击不能打开类(报Cannot find declaration to go to)
今天我将Activiti的源码下载下来,然后在IDEA中打开,这些源码都下载成功,但是按Ctrl键加鼠标左键并不能打开这个类,出现Cannot find declaration to go to 。情况如下图:我在网上也找了很多的原因和解决的办法,但是并没有用,打开以后还是会说找不到申明。最后发现一篇文章,说因为我导入时候没有用import,而是使用了open打开,所以我close...原创 2018-12-10 13:46:11 · 1259 阅读 · 0 评论 -
删除自己创建的archetype脚手架
之前创建自己的脚手架时候创建错误,这里来将这个有错的脚手架删除。可以看到我选中的这个就是我之前创建的有错误的脚手架,我们来将它删除:1、找到本机的UserArchetypes.xml文件这个一般路径是在 C:\Users\john\.IntelliJIdea2018.3\system\Maven\Indices 中,可以看到最下面的这个UserArchetypes.xml文件。...原创 2018-12-18 17:52:47 · 1959 阅读 · 0 评论 -
Activiti6.0流程引擎学习——(25)activiti的历史数据管理服务(HistoryService)
首先我们要知道activiti中的历史数据:当流程或节点执行完成离开了运行库放入历史库的数据称为历史数据。HistoryService:1、管理流程实例结束后的历史数据;2、构建历史数据的查询对象;3、根据流程实例Id删除流程历史数据。HistoryService历史数据实体:历史数据实体 描述 HistoryProcessInstance 历史流程实例实体...原创 2019-02-21 17:46:38 · 4335 阅读 · 0 评论 -
Activiti6.0流程引擎学习——(24)activiti的表单管理服务(IdentityService)
FormService:1、解析流程定义中表单项的配置;2、提交表单的方式驱动用户节点流转,FormService可以通过submit表单方式将流程驱动;3、获取自定义外部表单Key。 基于流程演示FormService功能:一、创建FormServiceTest测试类与测试流程文件首先在coreapi中创建FormServiceTest测试类:然后在resou...原创 2019-02-17 19:40:49 · 2745 阅读 · 1 评论 -
Activiti6.0流程引擎学习——(23)activiti的用户和用户组管理服务(IdentityService)
这篇介绍activiti的身份管理服务——IdentityServiceIdentityService:1、管理用户(User),创建、查询与删除用户;2、管理用户组(Group);3、用户与用户组的关系(Membership),使用Membership构建关系。eg:identityService.createMembership("user1","group1");。...原创 2019-02-17 15:08:49 · 3652 阅读 · 4 评论 -
Activiti6.0流程引擎学习——(22)activiti的任务管理服务(TaskService)
这里介绍activiti中的任务管理服务,也就是其中的TaskService。TaskService功能:1、对用户任务(UserTask)管理和流程的控制;2、设置用户任务(UserTask)的权限信息(拥有者,候选人,办理人);3、针对用户任务添加任务附件、任务评论和事件记录。TaskService对Task管理与流程控制:1、Task对象的创建,删除。但是很少使用Ta...原创 2019-02-16 15:30:04 · 5820 阅读 · 2 评论 -
Activiti6.0流程引擎学习——(21)activiti的流程运行控制服务(RuntimeService)【2】
接着上篇继续介绍activiti的流程运行控制服务。流程实例与执行流:1、流程实例(ProcessInstance)表示一次工作流业务的数据实体;2、执行流(Execution)表示流程实例汇总具体的执行路径;3、流程实例接口(ProcessInstance)继承了执行流(Execution),流程实例在执行流的基础上扩展了一些其他系列的操作。 流程触发:1、使用tri...原创 2019-02-15 18:14:19 · 1939 阅读 · 1 评论 -
Activiti6.0流程引擎学习——(20)activiti的流程运行控制服务(RuntimeService)【1】
这篇主要介绍了activiti的流程运行控制服务——RuntimeServiceRuntimeServie的主要功能:1、启动流程及对流程数据的控制;2、流程实例(ProcessInstance)与执行流(Execution)查询;3、出发流程操作、接受信息和信号。 RuntimeService启动流程及变量管理:1、启动流程常用方式(id,key,message):这...原创 2019-02-15 15:09:07 · 1575 阅读 · 1 评论 -
Activiti6.0流程引擎学习——(19)activiti的流程存储服务(RepositoryService)
这篇博客的测试文件结构是基于 https://blog.csdn.net/JJBOOM425/article/details/85069863 中创建的脚手架项目中进行测试的,首先要按照我们定义的脚手架创建maven工程,这里就不列举了,然后我们在test中创建 RepositoryServiceTest 测试类:测试类内容如下:package com.jjf.activiti;...原创 2019-01-24 16:48:12 · 4368 阅读 · 0 评论 -
Activiti6.0流程引擎学习——(18)activiti流程引擎的监听器配置
这篇来讲述activiti的监听器配置,主要从以下三个方面来了解:1、事件及监听器原理2、监听器的配置方式3、Activiti的事件监听测试实例1、事件监听器原理首先这里事件源与事件类型的关系我们可以这里理解:创建一个流程引擎,那么事件源就是流程引擎对象Process Engine,事件类型就是ENGINE_CREATED。创建过程中触发了 ActivitiEvent 这个...原创 2019-01-23 19:41:01 · 2165 阅读 · 0 评论 -
Activiti6.0流程引擎学习——(17)Activiti流程引擎的事件处理&eventLog事件日志
首先跟上篇博客一样先创建单元测试类 ConfigEventLogTest。其中内容修改如下:package com.jjf.activiti.config;import org.activiti.engine.event.EventLogEntry;import org.activiti.engine.logging.LogMDC;import org.activiti.e...原创 2019-01-17 20:06:34 · 2337 阅读 · 0 评论 -
Activiti6.0流程引擎学习——(16)Activiti流程引擎的历史记录配置
这篇博客对Activiti流程引擎的HistoryLevel(历史记录级别)进行介绍。1、创建历史记录级别测试类在test目录中创建ConfigHistoryLevelTest测试类:2、创建ConfigHistoryLevelTest测试类的配置文件在config的resources中创建activiti_history.cfg.xml文件:配置文件 activi...原创 2018-12-28 19:53:43 · 1643 阅读 · 1 评论 -
Activiti6.0流程引擎学习——(15)Activiti流程引擎的日志记录
这里我们介绍日志记录与MDC。两者息息相关,当我们记录日志的时候,需要记录一些上下文信息。比如线程号与当前线程级别、当前时间。但是如果我们需要记录一些当前登录的用户与正在操作的订单,则是存在MDC中。可以把它理解为一些上下文的数据存储在线程变量里。当我们需要判断问题时作为诊断信息输出。但是有一些步骤需要注意,如下:接下来我们来测试一下日志记录。1、创建ConfigMDCTest测试...原创 2018-12-21 10:31:43 · 1853 阅读 · 0 评论 -
Activiti6.0流程引擎学习——(14)Activiti流程引擎的数据库配置
这里我们来了解一下Activiti流程引擎的数据库配置。我们从下面三个方面来讲解数据库的配置:1、了解缺省时的默认配置,使用H2内存数据库;2、配置JDBC属性,使用mybatis提供的连接池;3、配置DataSource,可自选第三方实现(这里我配置了阿里的Druid的数据源);首先我们先了解JDBC属性使用mybatis提供的连接池的相关配置:基本配置 连接池配置...原创 2018-12-19 20:15:48 · 1767 阅读 · 0 评论 -
Activiti6.0流程引擎学习——(13)将开发好的请假流程项目创建为archetype
这篇博文我来给我之前开发好的请假流程项目创建archetype脚手架。1、手工安装Activiti自带脚手架首先我们先打开之前下载好的activiti源码,如下。没有安装的童鞋请看此篇博文:https://blog.csdn.net/JJBOOM425/article/details/84976235下载好的源码我们打开文件目录如下:我们打开 tooling->arche...原创 2018-12-18 17:31:05 · 1217 阅读 · 1 评论 -
Activiti6.0流程引擎学习——(12)将请假流程项目使用springboot打包项目
对于上一篇我们编译实现了公司请假流程的项目,我们为了更好的部署,可以使用springboot将项目中的目录与第三方依赖打包成jar包,接下来我们来试着将这个项目打包。1、配置pom.xml文件首先我们在pom.xml文件的上方添加一个 spring-boot-starter-parent: <parent> <groupId>org.sp...原创 2018-12-18 15:19:29 · 1163 阅读 · 0 评论 -
Activiti6.0流程引擎学习——(11)使用IDEA编码实现的请假流程
本篇博客要使用IDEA来实现之前绘制好的请假流程图。流程图如下:具体创建这个流程图请看这篇博客:https://blog.csdn.net/JJBOOM425/article/details/850151451、创建maven工程我们在IDEA中new一个maven工程,这里我们不使用脚手架来创建maven工程。直接点击next进行下一步。然后我们填写工程信息:...原创 2018-12-17 10:13:04 · 2636 阅读 · 1 评论 -
Activiti6.0流程引擎学习——(10)使用Eclipse绘制activiti流程图
这篇我们将使用Eclipse来创建activiti流程文件,并且在上面尝试绘制请假的流程图。绘制好以后对流程图进行完善,在具体对应的事件中添加表单。后面我们将针对这个请假流程进行相应的编码实现一个简单的流程来深度了解流程引擎。首先这边我们定义请假的流程图如下:接下来我们开始绘制我们的请假流程图。1、在Eclipse中创建一个Activiti文件:选择对应的目录,New->...原创 2018-12-15 17:06:00 · 8626 阅读 · 9 评论 -
Activiti6.0流程引擎学习——(9)在Activiti源码中打开并剖析activiti-app
这节我们使用下载的源码来打开activiti-app,并且了解一下activiti-app的源码。activiti-app保存在modules中的activiti-ui目录中:目录 介绍 activiti-app 集成发布的war工程 activiti-app-conf UI独立于业务外的配置 activiti-app-logic UI的业务逻辑 ...原创 2018-12-14 19:53:07 · 3465 阅读 · 0 评论 -
Activiti6.0流程引擎学习——(8)Activiti流程引擎源码初步介绍
我们开始讲解一下Activiti的源码文件的内容。我们打开整个文件夹就可以看到以下的文件,这也就是Activiti的文件结构。 1、distro与eclipsedistro是发布用的目录,eclipse是开发的配置文件2、modules文件modules是重要的源码模块包结构。3、qa文件qa中文件关于测试使用的配置脚本文件4、scripts文件...原创 2018-12-14 18:11:46 · 1577 阅读 · 0 评论 -
Activiti6.0流程引擎学习——(7)将Linux服务器中的Activiti源码拷贝到IDEA中
1、配置linux服务器的信息我们打开IDEA,最上栏 Tools->Deployment->Configuration 。2、首先先创建一个server服务器并命名。3、填写配置信息注意Root path要配置到 /root还有进入 Mapping ,将Deployment path 改为 /4、在工作区间创建一个空的文件夹5、使用...原创 2018-12-12 18:47:23 · 782 阅读 · 0 评论 -
Activiti6.0流程引擎学习——(6)从github中下载Activiti源码到Linux服务器
我们现在开始学习Activiti的源码,当务之急就是先下载Activiti的源码。我们可以到github中下载,具体步骤如下。如果github没有用过的同学先基本了解一下github的使用流程: 1、登录自己的github账号2、在首页左上角搜索Activiti3、进入Activiti首页后我们点击ForkFork以后就可以直接将源代码放到自己的github仓库...原创 2018-12-12 17:47:43 · 4340 阅读 · 1 评论 -
Activiti6.0流程引擎学习——(5)测试使用流程引擎
这里我们对上一篇创建的请假流程进行测试。登录user用户登录成功后我们可以看到页面中多出了新建的请假流程。我们点击请假模块,进入以下界面。 点击 Start a process 。然后我们 点击 Start Process。然后会出现以下内容,Comments中写入我们员工的请假原因。而后点击 Add comment。我们提交请假请求后,开始进入请假流...原创 2018-12-08 22:24:26 · 1091 阅读 · 2 评论 -
Activiti6.0流程引擎学习——(4)简单使用Activiti流程引擎_创建流程
从上文我们在linux主机中安装部署好了Activiti流程引擎。这里我们开始使用上文打开的 http://192.168.1.164:8080/activiti-app/ 网站,使用初始管理员账号密码登录。(admin/test)这里我们创建一个请假的流程,具体流程图如下:接下来我们开始Activiti的简单操作。一、打开Activiti网页首先按照前面三篇文章安装部署好...原创 2018-12-05 19:20:59 · 2028 阅读 · 0 评论 -
Activiti6.0流程引擎学习——(3)linux中搭建环境安装tomcat与Activiti(图文结合)
这篇文章开始正式接触Activiti。一、下载Tomcat压缩包首先Activiti要跑在服务器中,所以首先在centOS7服务器中下载Tomcat服务器(注意我这里下载的是tomcat8):$ wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.35/bin/apache-tomcat-8.5.35.tar.gz使...原创 2018-12-04 15:03:47 · 2193 阅读 · 0 评论 -
Activiti6.0流程引擎学习——(2)linux中搭建环境使用sdkman安装java(图文结合)
接下来开始搭建Activiti的环境,由上篇博客:https://blog.csdn.net/JJBOOM425/article/details/84784509 中可以知道我们要安装jdk、tomcat。这里演示的是在centOS7中搭建环境。好了,废话不说开始部署。一、安装sdkman通过下面的指令安装sdkman,它是一个对java相关的软件进行管理的工具。比如可以灵活的切换jd...原创 2018-12-04 13:00:16 · 1102 阅读 · 0 评论 -
Activiti6.0流程引擎学习——(1)Activiti的简单介绍
本文开始学习Activiti流程引擎,写下后面的文章希望可以帮到刚接触的童鞋。首先还是要多废话几句,讲解一下流程引擎是什么?工作流引擎最常见用于审批流程中,现在一线互联网公司也开始使用,并有快速推广的趋势,复杂繁多的业务流程如果采用if else实现那将是崩溃的,代码不可维护,业务流程在代码中可读性很差,所以高人设计了业务流程模型图示BPMN2.0,我们要做到就是把业务场景抽象为标准流程图...原创 2018-12-04 11:16:20 · 1549 阅读 · 0 评论 -
IDEA中安装activiti并使用
1、IDEA中本身不带activiti,需要自己安装下载。打开IDEA中File列表下的Settings输入actiBPM,然后点击下面的Search...搜索点击Install 下载下载结束后应用保存,然后重启IDEA创建个文件夹右键new,点击BpmnFeil,然后取个名会出现界面鼠标左键拖拽StartEvent到界面上,同样再弄几个其他...转载 2018-12-03 11:54:51 · 771 阅读 · 0 评论 -
简单了解Activity工作流引擎
一、 什么是工作流以请假为例,现在大多数公司的请假流程是这样的员工打电话(或网聊)向上级提出请假申请——上级口头同意——上级将请假记录下来——月底将请假记录上交公司——公司将请假录入电脑采用工作流技术的公司的请假流程是这样的员工使用账户登录系统——点击请假——上级登录系统点击允许就这样,一个请假流程就结束了有人会问,那上级不用向公司提交请假记录?公司不用将记录录入电脑?答案...转载 2018-11-29 20:13:08 · 931 阅读 · 0 评论