在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
之前为大家介绍了关于BPMN的认知文章,本片文章主要为大家介绍Activiti的流程部署,Activiti是一个独立运作和经营的开源项目品牌。Activiti项目是一项新的基于Apache许可的开源BPM平台,从基础开始构建,旨在提供支持新的BPMN 2.0标准,包括支持对象管理组(OMG),面对新技术的机遇,诸如互操作性和云架构,提供技术实现。下面介绍在IDEA中如何部署一个简单的考勤补签流程:

1、首先在resource目录下新建bpmn目录。
2、点击bpmn目录右键-->new-->bpmn文件,输入bpmn文件名后会出现如下界面:
该界面的左边是属性面板,可以查看和修改各个bpmn元素的属性值,中间是bpmn流程图,最右侧是流程图中的各种元素。
3、绘制流程图
1)拖放一个StartEvent(开始事件)和一个EndEvent(结束事件)到流程图中,分别将名称设置为“补签开始”和“补签结束”。
2)拖放两个UserTask,分别将名称设置为技术经理审批和人事专员确认

3)将图形连接起来,如上图,提示:将鼠标移动到图形中心,图标形状会发生变化,然后拖动到下一个图形就完成了连接。
4、生成流程图png图片
部署一个Activiti流程需要bpmn文件和流程图图片(png格式),可以复制bpmn文件然后将后缀名改为xml,在xml文件上点击右键-->Diagrams-->Show BPMN2.0 Designer会出现如下界面:

点击左上方的导出按钮,选择resources下的bpmn目录,就会保存为png图片。
5、部署流程
上章介绍过Activiti的核心引擎ProcessEngine,所有的服务都需要通过流程引擎来获得。
部署流程需要使用RepositoryService,仓库服务是存储相关的服务,一般用来部署流程文件,获取流程文件,查询流程定义信息等操作,是引擎中的一个重要的服务。
获得方法:
RepositoryService repositoryService
= engine.getRepositoryService();
部署流程:
@Test
public void deployAddSigninProcess() {
//获得配置对象
ProcessEngineConfiguration config =
ProcessEngineConfiguration.createProcessEngineConfigurationFromResourceDefault();
//创建核心引擎
ProcessEngine processEngine = config.buildProcessEngine();
//获得仓库服务
repositoryService = processEngine.getRepositoryService();
//部署流程,支持链式编程
repositoryService
.createDeployment() //创建部署对象
.key("addsigninProcess") //设置部署流程键值
.addClasspathResource("bpmn/proc_addsignin.bpmn") //添加bpmn文件
.addClasspathResource("bpmn/proc_addsignin.png") //添加png文件
.name("补签流程") //设置流程名称
.deploy(); //部署
}
执行完上面的代码后会向下面三张表中插入记录:

act_re_deployment存放流程定义的显示名和部署时间,每部署一次增加一条记录
![]()
act_re_procdef存放流程定义的属性信息,部署流程定义都会在这张表中增加一条记录。

act_ge_bytearray存储流程定义相关的部署信息。即流程定义文档的存放地。
按照这个补签的流程,我们就可以基本完成Activiti的流程部署。下面我们只需要按照部署的流程进行层层审批就可以完成整个流程。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Java虚拟机之JVM如何调优
JVM的引入,使Java语言可以在不同平台上运行时不需要重新编译。但是程序上线前的测试或者运营的过程中,会出现各种关于JVM的问题。例CPU load过高、请求延迟、tps降低,甚至出现内存泄漏,内容一处导致系统崩溃等等问题。因此需要对JVM进行调优,促使程序正常运行的前提下获得更高的用户体验和运行效率。
10936
2019-06-28 18:29:21
Java程序员Spring框架面试题汇总附答案
Spring框架对于服务器端的开发大有帮助,无论从简单性、可测试性和松耦合性角度来说,Java应用都可以从Spring中受益。本文整理汇总了Java程序员在面试中关于Spring框架的面试题,涉及大量Spring框架知识点,不会做的话还可以参考答案,有面试需求的朋友赶紧来刷题吧!
7481
2019-11-21 15:51:56
2019年Spring Boot面试题集合附答案
相信所有Java开发者都认同,在微服务中,Spring Boot是最好的Java框架。Spring Boot自身最大的优势就是简化配置,可以说它真正实现了自动化配置。因此大家要想做好Java开发,给大家的建议就是成为Spring Boot的高手。本文为大家整理了2019年最新的Spring Boot面试题和答案,如果大家能够好好做一做这份面试题集合,相信面试一定手到擒来。
8793
2019-12-20 18:05:36
Java开发工程师面试准备攻略
本文主要和大家分享一下,Java开发工程师面试要做哪些准备。一般来讲,Java岗位的面试准备主要集中在两方面。一方面是面试前的简历制作,另一方面是多做Java开发相关的面试题。前者是为了获得更多的面试机会,后者是为了在面试中通过面试官的考核,从众多求职者中脱颖而出。那么,我们就来详细看看下面这份Java开发工程师面试准备攻略吧!
7199
2020-01-10 15:38:13
Redis相关常见面试题有哪些?
作为一名Java程序面试过程中会被问到Redis相关的问题,这里对其常见问题做了梳理。Redis是一个使用C语言编写的开源高性能非关系型的键值对数据库。Redis可以存储键和五种不同类型的值之间的映射。键的类型只能为字符串,值支持五种数据类型:字符串、列表、集合、散列表、有序集合。
5729
2021-03-16 14:50:12
