Activiti 环境配置从无到有及学习心得(文档待续...)

最近做了个项目需要用到工作流, 工作流引擎有很多, 经比较最终选择了Activity 进行开发;

在使用之前需要搞清楚什么是工作流, 流程引擎, 流程实例 等概念, 以及对应表的含义[注: Activiti工作流共23张表, JBPM共18张表] 使自己快速熟悉工作流的这一套运作流程;

开发工具:

  Eclipse (我使用的版本是 eclipse-jee-oxygen-M3-win32-x86_64)

1. 下载开发工具:  略...

2. 开发工具安装Activiti插件: 略...

3. 新建maven项目

  工具栏点击"File-New-Other..." 选择 "Maven-Maven Project" 后点击Next 勾选上 Create a simple project (skip archetype selection)

点击 Next 并填写项目信息

点击Finish创建项目

配置依赖jar包

  1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3     <modelVersion>4.0.0</modelVersion>
  4     <groupId>cn.zjx</groupId>
  5     <artifactId>activiti</artifactId>
  6     <version>0.0.1-SNAPSHOT</version>
  7     <packaging>war</packaging>
  8
  9     <dependencies>
 10         <!-- junit 依赖jar -->
 11         <dependency>
 12             <groupId>junit</groupId>
 13             <artifactId>junit</artifactId>
 14             <version>4.11</version>
 15         </dependency>
 16         <!-- junit 依赖jar -->
 17
 18         <!-- MYSQL JDBC 驱动jar -->
 19         <dependency>
 20             <groupId>mysql</groupId>
 21             <artifactId>mysql-connector-java</artifactId>
 22             <version>5.1.27</version>
 23         </dependency>
 24         <!-- MYSQL JDBC 驱动jar -->
 25
 26         <!-- spring相关jar -->
 27         <!-- SPRING BEGIN -->
 28         <dependency>
 29             <groupId>org.springframework</groupId>
 30             <artifactId>spring-core</artifactId>
 31             <version>4.1.0.RC2</version>
 32         </dependency>
 33         <dependency>
 34             <groupId>org.springframework</groupId>
 35             <artifactId>spring-beans</artifactId>
 36             <version>4.1.0.RC2</version>
 37         </dependency>
 38         <dependency>
 39             <groupId>org.springframework</groupId>
 40             <artifactId>spring-context</artifactId>
 41             <version>4.1.0.RC2</version>
 42         </dependency>
 43         <dependency>
 44             <groupId>org.springframework</groupId>
 45             <artifactId>spring-context-support</artifactId>
 46             <version>4.1.0.RC2</version>
 47         </dependency>
 48         <dependency>
 49             <groupId>org.springframework</groupId>
 50             <artifactId>spring-aop</artifactId>
 51             <version>4.1.0.RC2</version>
 52         </dependency>
 53         <dependency>
 54             <groupId>org.springframework</groupId>
 55             <artifactId>spring-jdbc</artifactId>
 56             <version>4.1.0.RC2</version>
 57         </dependency>
 58         <dependency>
 59             <groupId>org.springframework</groupId>
 60             <artifactId>spring-orm</artifactId>
 61             <version>4.1.0.RC2</version>
 62         </dependency>
 63         <dependency>
 64             <groupId>org.springframework</groupId>
 65             <artifactId>spring-tx</artifactId>
 66             <version>4.1.0.RC2</version>
 67         </dependency>
 68         <dependency>
 69             <groupId>org.springframework</groupId>
 70             <artifactId>spring-web</artifactId>
 71             <version>4.1.0.RC2</version>
 72         </dependency>
 73         <dependency>
 74             <groupId>org.springframework</groupId>
 75             <artifactId>spring-webmvc</artifactId>
 76             <version>4.1.0.RC2</version>
 77         </dependency>
 78         <dependency>
 79             <groupId>org.springframework</groupId>
 80             <artifactId>spring-expression</artifactId>
 81             <version>4.1.0.RC2</version>
 82         </dependency>
 83         <dependency>
 84             <groupId>org.springframework</groupId>
 85             <artifactId>spring-test</artifactId>
 86             <version>4.1.0.RC2</version>
 87         </dependency>
 88         <!-- SPRING END -->
 89         <!-- spring相关jar -->
 90
 91         <!-- ACTIVITI 工作流 BEGIN -->
 92         <dependency>
 93             <groupId>org.activiti</groupId>
 94             <artifactId>activiti-engine</artifactId>
 95             <version>5.22.0</version>
 96         </dependency>
 97         <dependency>
 98             <groupId>org.activiti</groupId>
 99             <artifactId>activiti-spring</artifactId>
100             <version>5.22.0</version>
101         </dependency>
102         <dependency>
103             <groupId>org.activiti</groupId>
104             <artifactId>activiti-json-converter</artifactId>
105             <version>5.22.0</version>
106         </dependency>
107         <dependency>
108             <groupId>org.activiti</groupId>
109             <artifactId>activiti-explorer</artifactId>
110             <version>5.22.0</version>
111             <exclusions>
112                 <exclusion>
113                     <artifactId>vaadin</artifactId>
114                     <groupId>com.vaadin</groupId>
115                 </exclusion>
116                 <exclusion>
117                     <artifactId>dcharts-widget</artifactId>
118                     <groupId>org.vaadin.addons</groupId>
119                 </exclusion>
120                 <exclusion>
121                     <artifactId>activiti-simple-workflow</artifactId>
122                     <groupId>org.activiti</groupId>
123                 </exclusion>
124             </exclusions>
125         </dependency>
126         <dependency>
127             <groupId>org.activiti</groupId>
128             <artifactId>activiti-modeler</artifactId>
129             <version>5.22.0</version>
130         </dependency>
131         <dependency>
132             <groupId>org.activiti</groupId>
133             <artifactId>activiti-diagram-rest</artifactId>
134             <version>5.22.0</version>
135         </dependency>
136         <!-- ACTIVITI 工作流 BEGIN -->
137
138         <!-- JSON 依赖, activiti似乎也是依赖此jar的 -->
139         <dependency>
140             <groupId>com.fasterxml.jackson.core</groupId>
141             <artifactId>jackson-core</artifactId>
142             <version>2.7.5</version>
143         </dependency>
144         <dependency>
145             <groupId>com.fasterxml.jackson.core</groupId>
146             <artifactId>jackson-databind</artifactId>
147             <version>2.7.5</version>
148         </dependency>
149         <dependency>
150             <groupId>com.fasterxml.jackson.core</groupId>
151             <artifactId>jackson-annotations</artifactId>
152             <version>2.7.5</version>
153         </dependency>
154         <!-- JSON 依赖, activiti似乎也是依赖此jar的 -->
155
156         <!-- 2017年5月31日 17:20:27 zjx 添加dbcp数据源和mybatis依赖jar BEGIN -->
157         <!-- MyBatis -->
158         <dependency>
159             <groupId>org.mybatis</groupId>
160             <artifactId>mybatis</artifactId>
161             <version>3.3.0</version>
162         </dependency>
163         <!--spring只针对ibatis整合依赖 -->
164         <dependency>
165             <groupId>org.mybatis</groupId>
166             <artifactId>mybatis-spring</artifactId>
167             <version>1.2.3</version>
168         </dependency>
169         <!-- 2017年5月31日 17:21:09 zjx 添加dbcp数据源和mybatis依赖jar END -->
170
171     </dependencies>
172 </project>

通过测试代码自动创建工作流相关的23张表(创建数据库activiti_primary)

CreateTablesTest

 1 package activiti;
 2
 3 import org.activiti.engine.ProcessEngine;
 4 import org.activiti.engine.ProcessEngineConfiguration;
 5 import org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl;
 6 import org.junit.Test;
 7
 8 public class CreateTablesTest {
 9
10     /**
11      * 测试创建activiti的23张表
12      */
13     @Test
14     public void createActivitiTablesTest() {
15         // 1. 创建流程引擎配置类
16         ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfigurationImpl.createStandaloneProcessEngineConfiguration();
17         // 设置流程引擎配置类
18         processEngineConfiguration.setJdbcDriver("com.mysql.jdbc.Driver");
19         processEngineConfiguration.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/activiti_primary?useUnicode=true&characterEncoding=utf-8");
20         processEngineConfiguration.setJdbcUsername("root");
21         processEngineConfiguration.setJdbcPassword("root");
22
23         // 2. 设置是否自动创建表;
24         /**
25          * String DB_SCHEMA_UPDATE_FALSE = "false";不能自动创建表,需要表存在
26          * DB_SCHEMA_UPDATE_CREATE_DROP = "create-drop";先删除表再创建表
27          * DB_SCHEMA_UPDATE_TRUE = "true";如果表不存在,自动创建表
28          */
29         processEngineConfiguration.setDatabaseSchemaUpdate(ProcessEngineConfigurationImpl.DB_SCHEMA_UPDATE_TRUE);
30
31         // 3. 根据流程引擎配置类构建流程引擎
32         ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();
33     }
34
35     /**
36      * 从流程引擎中获取流程的service
37      */
38     @Test
39     public void getServiceFromProcessEngine() {
40
41     }
42
43 }

再次查看数据库时发现23张表已经创建完成

时间: 2024-11-06 00:57:50

Activiti 环境配置从无到有及学习心得(文档待续...)的相关文章

Mongoose学习参考文档——基础篇

Mongoose学习参考文档 前言:本学习参考文档仅供参考,如有问题,师请雅正 一.快速通道 1.1 名词解释 Schema : 一种以文件形式存储的数据库模型骨架,不具备数据库的操作能力 Model : 由Schema发布生成的模型,具有抽象属性和行为的数据库操作对 Entity : 由Model创建的实体,他的操作也会影响数据库 注意: 1.本学习文档采用严格命名方式来区别不同对象,例如: var PersonSchema; //Person的文本属性 var PersonModel; //

HTML5学习之文档结构和语义(一)

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> </head> <body> <!--he

《如何安装和配置打印服务器》系列技术文档索引-20181011

<如何安装和配置打印服务器>系列技术文档索引-20181011 ?Lander Zhang 专注外企按需IT基础架构运维服务,IT Helpdesk 实战培训践行者http://blog.51cto.com/lander 2018/10/12 7:30 1.如何安装和配置打印服务器之一:安装打印服务器请添加链接描述公司各部门都有各自的网络打印机,那最终用户如何最方便地安装需要的打印机呢?我们先从安装打印服务器开始.... 2.如何安装和配置打印服务器之二:设置打印机打印权限并通过UNC方式添加

《Java开发学习大纲文档》V6.0

<Java开发大纲学习文档第六版>简介:          该文档是根据企业高级Java从事IT行业多年开发经验上所需要掌握的知识点大纲进行总结汇编,是Java开发工程师必备知识体系,系统化学习针对性非常强,逻辑分析能力非常清晰;技术方面覆盖非常广泛全面,从编程环境安装开始切入,第一阶段从Java基础(Java核心基础+面向对象+多线程+常用类+IO+GUI+网络编程+常用实例)入门,第二阶段深入了解JavaWeb(Oracle.MySQL.MongoDB.MySQL数据库的优化.HTML5.

生产环境轻量级dns服务器dnsmasq搭建文档

dnsmasq搭建文档 一.生产环境域名解析问题 之前生产环境设备较少,是通过维护master(192.168.1.1)设备的hosts文件实现的.每次新增设备后,需要在master的hosts文件中新增ip和主机名,再将master的hosts文件批量拷贝到生产所有已部署设备和新增设备.设备少时维护比较简单,随时设备越来越多,维护起来变得很繁琐,批量拷贝也非常消耗精力. 为了减轻维护成本,和提高维护效率,在生产环境搭建一台dns服务器非常有必要. 进过筛选,dnsmasq这个轻量级的dns服务

Linux学习笔记(十三)--命令学习(文档的压缩与打包)

现在 1.网上下载的文件档都是压缩文件. 2.减少空间要用到压缩文件. 所以我们有必要学下怎么对文件的压缩与解压. linux 文档的压缩与打包命令 在linux中支持的压缩方式好多,但最常用的压缩方式是:     tar 命令 其压缩方式也有二种(gz & bz2)     现在我们要开始学习它的使用..... 命令 tar 功能 把文件进行打包与解包 语法 tar [-zjxcvfpP] filename 扩展 -z :是否同时用gzip压缩 -j :是否同时用bzip2压缩 -x :解包或

jQuery 源码分析和使用心得 - 文档遍历 ( traversing.js )

jQuery之所以这么好用, 首先一点就是$()方法和它强大的选择器. 其中选择器使用的是sizzle引擎, sizzle是jQuery的子项目, 提供高效的选择器查询. 有个好消息告诉大家, 就是sizzle可以独立使用, 如果你觉得jQuery太大但又非常喜欢它的选择器, 那不妨可以用sizzle. 感兴趣的话可以到官方网站了解. 本系列内部不准备解析sizzle的源码, 一是sizzle内容相对独立, 二是内容主要涉及算法, 与整体的代码设计关系不大, 三嘛, 我的实力有限, 遇到算法就退

PHP初中高级学习在线文档下载

收集了一些框架的学习文档与手册,视频教程,给大家带来了更多的方便,只要收藏与保存于百度云盘就好了,省去了网上到处寻找的时间!大家有需要就收藏保存起来吧! 如果不能下载请到群内获取新的下载地址 QQ群 4915800 点击链接加入群[PHP-学习-php交流]: https://jq.qq.com/?_wv=1027&k=5Rryl8h 在线学习文档 ThinkPHP3.2手册:http://t.cn/RhVxksn ThinkPHP5.0手册:http://t.cn/RqYDt0h CodeIg

前端学习 -- Css -- 文档流

文档流 文档流处在网页的最底层,它表示的是一个页面中的位置, 我们所创建的元素默认都处在文档流中 元素在文档流中的特点 块元素 块元素在文档流中会独占一行,块元素会自上向下排列. 块元素在文档流中默认宽度是父元素的100%. 块元素在文档流中的高度默认被内容撑开. 内联元素 1.内联元素在文档流中只占自身的大小,会默认从左向右排列,如果一行中不足以容纳所有的内联元素,则换到下一行,继续自左向右. 2.在文档流中,内联元素的宽度和高度默认都被内容撑开. 当元素的宽度的值为auto时,此时指定内边距