Activiti开发学习笔记

Activiti开发学习笔记

  1. 概述介绍

最近公司有个大项目需要用到流程引擎平台。服务治理平台中要提供流程治理服务,所以小编在加紧学习工作流引擎的开发。 所以即将学习的是一个业务流程管理框架, 常见开源工作流引擎框架 :OSWorkFlow、jBPM(jboss business process management),Activiti工作流(是对jBPM升级)。流程开发框架一般我们称作为工作流框架.

为什么推荐使用activit这个框架?

activit它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。Activiti基于Apache许可的开源BPM平台,创始人Tom Baeyens是JBoss jBPM的项目架构师,它特色是提供了eclipse插件,开发人员可以通过插件直接绘画出业务。
另外我觉得它比JBPM相对来说好的一点就是:再简单,开发难度减低了。
  1. 技术框架-开发环境

  • 语言:Java 8
  • IDE(JAVA):IDEA / Eclipse安装activit插件
  • IDE(前端):WebStorm 或者 IDEA
  • 依赖管理:Maven
  • 数据库:MySQL5.7
  1. 第一个例子

源码下载地址,复制下载即可


import org.activiti.engine.ProcessEngine;

import org.activiti.engine.ProcessEngines;

import org.activiti.engine.RepositoryService;

import org.activiti.engine.RuntimeService;

import org.activiti.engine.TaskService;

import org.activiti.engine.task.Task;


/**

 * 第一个流程运行类

 */

public class First {

public static void main(String[] args)  {

// 创建流程引擎

ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();

// 得到流程存储服务组件

RepositoryService repositoryService = engine.getRepositoryService();

// 得到运行时服务组件

RuntimeService runtimeService = engine.getRuntimeService();

// 获取流程任务组件

TaskService taskService = engine.getTaskService();

// 部署流程文件

repositoryService.createDeployment().addClasspathResource("bpmn/First.bpmn").deploy();

// 启动流程

runtimeService.startProcessInstanceByKey("process1");

// 查询第一个任务

Task task = taskService.createTaskQuery().singleResult();

System.out.println("第一个任务完成前,当前任务名称:" + task.getName());

// 完成第一个任务

taskService.complete(task.getId());

// 查询第二个任务

task = taskService.createTaskQuery().singleResult();

System.out.println("第二个任务完成前,当前任务名称:" + task.getName());

// 完成第二个任务(流程结束)

taskService.complete(task.getId());

task = taskService.createTaskQuery().singleResult();

System.out.println("流程结束后,查找任务:" + task);

// 退出

System.exit(0);

}

}

  1. 总结

总结:使用activit,首先创建流程引擎, 得到流程存储服务组件,得到运行时服务组件,部署流程文件并启动流程。


这个例子比较简单,大家别笑话。

  1. 扫码关注

Activiti开发学习笔记

(公众号)

Activiti开发学习笔记

(微信)

  1. 免责声明

写作说明】以上内容分享给喜欢编程,有梦想的程序员,希望能帮助到你们。以上文章属于此公众号原创所有,如需转载请注明出处。

免责申明】本公众平台不是广告商,也没有为其他三方网站或者个人做广告宣传。此分享的源代码和文章是小编在项目中、学习中整理的一些认为不错的项目。用户产生的一些自愿下载或者付费行为。与平台没有直接关系

投稿邮箱】315997972@qq.com

 欢迎投稿分享你的优质源码或文章


上一篇:Activiti6与springboot集成


下一篇:Activiti 用户任务并行动态多实例(多用户执行流程)