2022年Activiti工作流详解完整教 .pdf





《2022年Activiti工作流详解完整教 .pdf》由会员分享,可在线阅读,更多相关《2022年Activiti工作流详解完整教 .pdf(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Activiti教程详解完整教程1.Activiti 介绍Activiti 是由 Alfresco 软件在 2010 年 5 月 17 日发布的业务流程管理(BPM)框架 ,它是覆盖了业务流程管理,工作流,服务协作等领域的一个开源,灵活的, 易扩展的可执行流程语言框架。Activiti 基于 Apache 许可的开源BPM平台, 创始人 Tom Baeyens是 JBoss JBPM 的项目架构师,它的特色是提供了eclipse 插件,开发人员可以通过插件直接绘画出业务流程图。1.1 工作流引擎ProcessEngine对象,这是Activiti 工作的核心。负责生成流程运行时的各种实例及数据
2、,监控和管理流程的运行。1.2 BPMN 业务流程建模与标注(Business Process Model and Notation,BPMN ) ,描述流程的基本符号,包括这些图元如何组合成一个业务流程图(Business Process Diagram) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 38 页 - - - - - - - - - 2.准备环境2.1 Activiti软件环境1)JDK1.6或者更高版本2)支持的数据库有:h2,mysql,oracle
3、,mysql,db2 等3)支持 Activiti 运行的 jar 包,可以通过maven 依赖引入4)开发环境为Eclipse3.7 或者以上版本,myeclipse 为 8.6 版本2.2 安装流程设计器(eclipse插件 ) 1)打开 Help Install New Software Add 输入Name: Activiti Designer Location: http:/Activiti.org/designer/update/ 输入完成后,单击OK按钮等待下载完成后安装。安装完成后在菜单选项中会出现Activiti 的目录选项名师资料总结 - - -精品资料欢迎下载 - - -
4、 - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 38 页 - - - - - - - - - 2.3 设置 eclipse activit插件的画流程图选项打开菜单 Windows - Preferences - Activiti -Save 下流程图片的生成方式勾选上 Create process definition image when saving the diagram 操作,勾选上这个操作后在画流程图后保存eclipse 会自动生成对应的流程图片。2.4 准备开发环境2.4.1 创建 maven web 项目,
5、在 maven 中添加 Activiti 依赖在 eclipse 左边工作栏右键New 选择创建 Maven Project 项目,创建一个名为ActivitiTest 的项目名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 38 页 - - - - - - - - - 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 38 页 - - - - - -
6、- - - 点击 Finish 完成。右键项目选择Properties,选择 Project Facets 勾选上图中的选项,点击Apply,再点击 OK 然后将项目转换成web 项目 ,右键项目选择Properties,在 Project Facets 中做如下勾选 ,然后点击 Appy 应用和 OK 确定名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 38 页 - - - - - - - - - 然后右键项目Properties , 选择 Deployment Ass
7、embly, 将 test 相关目录 Remove 掉之保留 main下面需要发布的内容,如下图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 38 页 - - - - - - - - - 然后点击Appply 和 OK 然后在 pom.xml 文件中添加以下依赖org.ActivitiActiviti-engine5.21.0 org.ActivitiActiviti-spring5.21.0 org.codehaus.groovygroovy-all2.4.3 org
8、.slf4jslf4j-api1.7.6 org.slf4jslf4j-jdk141.7.6 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 38 页 - - - - - - - - - junitjunit3.8.1 test mysql mysql-connector-java5.1.38 然后在命令行下mvn compile 编译当前项目,将需要的包下载到本地仓库2.4.2 初始化数据库1)src/main/resource 目录下创建Activiti.cfg.xm
9、l文件 ,内容如下 jdbcUrl 为你电脑数据库的url jdbcUsername 为数据库用户名jdbcPassword 为数据库密码2)在 main/java 目录下创建任意目录和类编写创建 Activiti 数据表方法publicclass CreateTable /* * 创建流程表 * */Testpublicvoid createTable() ProcessEngine processEngine = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource ( Activiti.cfg.xm
10、l) .buildProcessEngine(); System. out .println(-processEngine: + processEngine); 然后运行该测试方法,如果运行成功,在数据库中应该会产生25 张 Activiti的相关数据表名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 38 页 - - - - - - - - - 2.4.3 Activiti 表说明下面是概括了几个常用的数据表流程部署相关表act_re_deployement 部署对象表a
11、ct_rep_procdef 流程定义表act_ge_bytearray 资源文件表act_ge_prperty 主键生成策略表(对于部署对象表的主键ID)流程实例相关表act_ru_execution 正在执行的执行对象表(包含执行对象ID 和流程实例ID,如果有多个线程可能流程实例ID 不一样)act_hi_procinst 流程实例历史表act_hi_actinst 存放历史所有完成的任务Task 任务相关表act_ru_task 代办任务表(只对应节点是UserTask的)act_hi_taskinst 代办任务历史表(只对应节点是UserTask的)名师资料总结 - - -精品资料欢
12、迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 38 页 - - - - - - - - - act_hi_actinst 所有节点活动历史表(对应流程的所有节点的活动历史,从开始节点一直到结束节点中间的所有节点的活动都会被记录)流程变量表act_ru_variable 正在执行的流程变量表act_hi_variable 流程变量历史表3.核心 API 3.1 ProcessEngine 说明 : 1) 在 Activiti 中最核心的类,其他的类都是由他而来。2) 产生方式ProcessEngine
13、processEngine = ProcessEngines. getDefaultProcessEngine(); 3)可以产生RepositoryService RepositoryService repositoryService =processEngine.getRepositoryService(); 4) 可以产生RuntimeService RuntimeService runtimeService = processEngine.getRuntimeService(); 5) 可以产生TaskService TaskService taskService =processEn
14、gine.getTaskService(); 各个 Service 的作用RepositoryService 管理流程定义RuntimeService 执行管理,包括启动,推进,删除流程实例等操作TaskService 任务管理3.2 RepositoryService Activiti 的仓库服务类。所谓的仓库指流程定义文档的两个文件:bpmn 文件和流程图片该 service 可以用来删除部署的流程定义。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 38 页 -
15、- - - - - - - - 3.3 RuntimeService 是 Activiti 的流程执行服务类,可以从这个服务类中获取很多关于流程执行的相关的信息。3.4 TaskService 是 Activiti 的任务服务类。可以从这个类中获取任务的相关信息,如当前正在执行的个人待办和用户组待办任务。3.5 HistoryService 是 Activiti 的查询历史信息的类,在一个流程执行完成后,这个对象为我们提供查询历史信息,可以跟踪流程实例对应所有待办节点的运行情况。3.6 ProcessDefinition 流程定义类,可以从这里获得资源文件等。3.7 ProcessInstan
16、ce 代表流程定义的执行实例,当一个部署的流程图启动后,该流程只有一条流程实例数据,但是它的流程任务可以有多个,每个任务对应流程图中相应的流程节点。4.入门 HelloWorld程序4.1 创建流程图方法点击 ActivitiTest 项目,在src/main/java 目录下创建一个diagrams 目录用来存放流程图在当前项目右键选择Activiti Diagram 流程图输入流程图名称HelloWorld ,然后点击OK,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年Activiti工作流详解完整教 2022 Activiti 工作流 详解 完整

限制150内