Activiti工作流之准备Activiti开发环境

一、准备环境
1.activiti软件环境
1)JDK1.6或者更高版本

2)支持的数据库有:h2, mysql, oracle, postgres, mysql, db2等。

3)支持activiti5运行的jar包

4)开发环境为Eclipse3.7或者以上版本,myeclipse为8.6版本

2.相关资源下载
1)JDK可以到sun的官网下载
http://www.oracle.com/technetwork/java/javase/downloads/index.html

2)数据库,例如:mysql可以在官网上下载。
http://www.mysql.com

3)activiti也可以到Activiti官方网站下载得到。
http://activiti.org/download.html

4) Eclipse3.7或者MyEclipse8.6也可以到相应的网站上获得下载。

二、安装流程设计器(eclipse插件)
1.安装方式一
在有网络的情况下,安装流程设计器步骤如下:
1)打开Help -> Install New Software. 在如下面板中:
Activiti工作流之准备Activiti开发环境

2)在如下Install界面板中,点击Add按钮:
Activiti工作流之准备Activiti开发环境
配置新装插件的地址和名称

3)然后填入下列字段
Name: Activiti BPMN 2.0 designer
Location: http://activiti.org/designer/update/
Activiti工作流之准备Activiti开发环境

4)回到Install界面,在面板正中列表中把所有展示出来的项目都勾上:
Activiti工作流之准备Activiti开发环境

5)点击复选框
在Detail部分记得选中 "Contact all updates sites.." , 因为它会检查所有当前安装所需要的插件并可以被Eclipse下载.

6)安装完以后,点击新建工程new->Other…打开面板,如果看到下图内容:
Activiti工作流之准备Activiti开发环境
说明安装成功了。

在没有网络的情况下,安装流程设计器步骤如下:
1)下载插件的jar包,下载地址:http://download.csdn.net/detail/u013517797/9763166
1)解压此jar包
2)把压缩包中的内容放入eclipse根目录的dropins文件夹下

Activiti工作流之准备Activiti开发环境

Activiti工作流之准备Activiti开发环境

3)重启eclipse,点击新建工程new->Other…打开面板,如果看到下图内容:
Activiti工作流之准备Activiti开发环境
说明安装成功了。


三、对流程设计器的使用说明
打开菜单Windows->Preferences->Activiti->Save下流程流程图片的生成方式:
Activiti工作流之准备Activiti开发环境
虽然流程引擎在单独部署bpmn文件时会自动生成图片,但在实际开发过程中,自动生成的图片会导致和BPMN中的坐标有出入,在实际项目中展示流程当前位置图会有问题。
所在完成以上配置后,会由我们自己来管理流程图片。在发布流程时把流程规则文件和流程图片一起上传就行了。


四、准备Activiti5开发环境
4.0.创建一个Activiti工程

Activiti工作流之准备Activiti开发环境

Activiti工作流之准备Activiti开发环境

Activiti工作流之准备Activiti开发环境

点击Finish完成创建

创建成功的项目:
Activiti工作流之准备Activiti开发环境
我们的项目目前是Maven结构,里面有pom.xml资源配置。
业务类写在src/main/java下,相应的资源文件放置在src/main/resources下。
同理,测试的业务类在src/test/java下,相应的测试资源文件放置在src/test/resources下。

我们新建一个lib文件夹,来放置一会我们即将要加的jar包。
Activiti工作流之准备Activiti开发环境

4.1.添加Activiti5的jar包
需要添加以下jar包:

Activiti工作流之准备Activiti开发环境

Activiti工作流之准备Activiti开发环境

下载地址:http://download.csdn.net/detail/u013517797/9764657 (样例工程的WEB-INF/lib文件夹下有所有jar)
我们需要导入lib下所有包。添加到classpath中。

Activiti工作流之准备Activiti开发环境

Activiti工作流之准备Activiti开发环境

由于我们使用的是Mysql数据库,Mysql数据库的链接驱动Activiti官方包中并没有提供,需要我们自己导入。手动导入mysql-connector-java.jar,添加到classpath下。

4.2初始化数据库
我们在src/test/java下新建一个junit包,在该包下创建一个java类,名为TestActiviti:

Activiti工作流之准备Activiti开发环境

内容:

[java] view plain copy
  1. package junit;  
  2.   
  3. import org.activiti.engine.ProcessEngine;  
  4. import org.activiti.engine.ProcessEngineConfiguration;  
  5. import org.junit.Test;  
  6.   
  7. public class TestActiviti {  
  8.     /**使用代码创建工作流需要的23张表*/  
  9.     @Test  
  10.     public void createTable(){  
  11.         //流程引擎ProcessEngine对象,所有操作都离不开引擎对象  
  12.         ProcessEngineConfiguration processEngineConfiguration =  
  13.                 ProcessEngineConfiguration.createStandaloneInMemProcessEngineConfiguration();  
  14.         //连接数据库的配置  
  15.         processEngineConfiguration.setJdbcDriver("com.mysql.jdbc.Driver");  
  16.         processEngineConfiguration.setJdbcUrl("jdbc:mysql://localhost:3306/zhucoder2017?useUnicode=true&characterEncoding=utf8");  
  17.         processEngineConfiguration.setJdbcUsername("root");  
  18.         processEngineConfiguration.setJdbcPassword("1234");  
  19.       
  20.         //三个配置  
  21.         //1.先删除表,再创建表:processEngineConfiguration.DB_SCHEMA_UPDATE_CREATE_DROP="create-drop"  
  22.         //2.不能自动创建表,需要表存在:processEngineConfiguration.DB_SCHEMA_UPDATE_FALSE="false"  
  23.         //3.如果表存在,就自动创建表:processEngineConfiguration.DB_SCHEMA_UPDATE_TRUE="true"  
  24.         processEngineConfiguration.setDatabaseSchema(processEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);  
  25.         //获取工作流的核心对象,ProcessEngine对象  
  26.         ProcessEngine processEngine=processEngineConfiguration.buildProcessEngine();  
  27.         System.out.println("processEngine:"+processEngine+"Create Success!!");  
  28.     }  
  29. }  
上面的类先是获取ProcessEngineConfiguration工作流引擎配置对象,来进行一些数据库参数的配置,
然后使用配置对象创建工作流的核心对象ProcessEngine对象,使用核心引擎对象创建工作流需要的23张表。

可以看到我们上面创建了ProcessEngineConfiguration配置类,其中配置了数据库的链接数据,那么我们也要创建
相应的数据库。
安装好Mysql后,打开我们的Mysql的图形化管理工具,这里我使用的是sqlyog:
Activiti工作流之准备Activiti开发环境
打开之后,我们创建相应的数据库(和上面链接类中的数据库名称相同即可):
Activiti工作流之准备Activiti开发环境

别忘记在lib中加入mysql的jdbc驱动jar包,然后添加到classpath中:
mysql-connector-java-5.1.10-bin.jar

运行刚刚我们的测试类,等待一会后,就会发现工作流核心引擎创建成功:

Activiti工作流之准备Activiti开发环境

这就意味着我们的工作流需要的23张表已经创建成功,我们去sqlyog去看,发现确实生成了:
Activiti工作流之准备Activiti开发环境
此时,准备Activiti的环境除了配置文件外,已经全部准备完毕。