前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Activiti开发学习笔记

Activiti开发学习笔记

作者头像
程序源代码
发布2019-08-29 16:14:07
8010
发布2019-08-29 16:14:07
举报
文章被收录于专栏:程序源代码
  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,首先创建流程引擎, 得到流程存储服务组件,得到运行时服务组件,部署流程文件并启动流程。

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序源代码 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 为什么推荐使用activit这个框架?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档