• 在线客服

  • 扫描二维码
    下载博学谷APP

  • 扫描二维码
    关注博学谷微信公众号

  • 意见反馈

原创 Java知识分享:Activiti的流程部署

发布时间:2019-07-12 17:21:58 浏览 6378 来源:博学谷资讯 作者:枫调

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

     

    Java知识分享:Activiti的流程部署

     

      1、首先在resource目录下新建bpmn目录。

     

      2、点击bpmn目录右键-->new-->bpmn文件,输入bpmn文件名后会出现如下界面:

      该界面的左边是属性面板,可以查看和修改各个bpmn元素的属性值,中间是bpmn流程图,最右侧是流程图中的各种元素。

     

      3、绘制流程图

      1)拖放一个StartEvent(开始事件)和一个EndEvent(结束事件)到流程图中,分别将名称设置为“补签开始”和“补签结束”。

      2)拖放两个UserTask,分别将名称设置为技术经理审批和人事专员确认

    Java知识分享:Activiti的流程部署

      3)将图形连接起来,如上图,提示:将鼠标移动到图形中心,图标形状会发生变化,然后拖动到下一个图形就完成了连接。

     

      4、生成流程图png图片

      部署一个Activiti流程需要bpmn文件和流程图图片(png格式),可以复制bpmn文件然后将后缀名改为xml,在xml文件上点击右键-->Diagrams-->Show BPMN2.0 Designer会出现如下界面:

    Java知识分享:Activiti的流程部署

      点击左上方的导出按钮,选择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(); //部署

      }

      执行完上面的代码后会向下面三张表中插入记录:

      Java知识分享:Activiti的流程部署

      act_re_deployment存放流程定义的显示名和部署时间,每部署一次增加一条记录

      Java知识分享:Activiti的流程部署

      act_re_procdef存放流程定义的属性信息,部署流程定义都会在这张表中增加一条记录。

      Java知识分享:Activiti的流程部署

      act_ge_bytearray存储流程定义相关的部署信息。即流程定义文档的存放地。

     

      按照这个补签的流程,我们就可以基本完成Activiti的流程部署。下面我们只需要按照部署的流程进行层层审批就可以完成整个流程。

    申请免费试学名额    

在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!

上一篇: 2019年学Java在北京找工作难吗? 下一篇: 哪些人适合学Java?学习Java的必备能力

相关推荐 更多

热门文章

  • 前端是什么
  • 前端开发的工作职责
  • 前端开发需要会什么?先掌握这三大核心关键技术
  • 前端开发的工作方向有哪些?
  • 简历加分-4步写出HR想要的简历
  • 程序员如何突击面试?两大招带你拿下面试官
  • 程序员面试技巧
  • 架构师的厉害之处竟然是这……
  • 架构师书籍推荐
  • 懂了这些,才能成为架构师
  • 查看更多

扫描二维码,了解更多信息

博学谷二维码