一、Activiti下载及简介
1.1、Activiti下载
官网下载地址: http://activiti.org/download.html
Note:下载时不一定要使用最新版本的,最新版本会欠缺中文资料在使用时会稍微繁琐点,所以提倡下载稍稳定点的或者距最新版本较近的版本。
1.2、Activiti
1.2.1 database
该文件夹内放置了Activiti示例的所有数据库脚本,脚本包含了mssql、mysql、h2的数据库,分别封装了数据库表的创建和数据的写入、数据库表的修改及删除脚本,功能齐全。
1.2.2 docs
Activiti的使用帮助文档,分别包含了javadoc的Api、用户使用手册、xml scheme1.2.3 libs
放置的是开发的指针库,每个jar文件代表开发时的一个引用项,具体每个jar的使用操作说用,可以查看目录中的notice文档。1.2.4 wars
该文件夹相当的重要,文件夹中有两个文件activiti-explorer.war和activiti-rest.war,分别代表了流程的浏览器框架和流程的启动引擎,在开发时需要将它们部署到tomcat的webapps文件夹中,在启动流程时会自动调用这两个文件。activiti-explorer.war,浏览器框架,框架中包含了流程节点的查看、审批、流转等基本的操作,在打开该框架时初始化用户为如下表:
activiti-rest.war,流程引擎,流程真正的处理过程是在引擎中实现的,它封装了流程的处理过程。
二、安装配置详解
虽然Activiti的下载很简单,但是它的安装配置的却相当的繁琐,因为它的依赖项比较多。首先Activiti在运行时需要一个Servlet服务器作为容器来提供Activiti-explorer.war框架的运行,所以需要配置一个Java的服务器,这里使用Apache-tomcat作为安装项;其次需要配置Java的运行环境,它是Activiti在安装Demo时所必须的运行环境,所以需要安装j2ee及配置环境变量JAVA_HOME。
Note:安装J2ee前首先需要安装j2se,一定要注意J2se的版本一定要和J2EE的版本一致,另外也需要注意Java环境的版本要和tomcat的版本一致,即下载安装的位数一定要一致,如果是32位则都需要下载和安装32位的版本,否则在安装Activiti时会出错。
2.1、Apache-tomcat安装
tomcat的下载地址:http://tomcat.apache.org/download-70.cgi
Advice:这里提倡使用6.0版本的tomcat,因为它的稳定性较高,并且兼容性好。
下载完成后需要配置环境变量,设置安装的二进制文件夹binery的目录,如下步骤:
2.1.1 添加tomcat的系统变量CATALINA_HOME
将下载的tomcat解压,然后创建系统变量CATALINA_HOME,该系统变量指定了tomcat的binery所在文件夹的父目录(tomcat的目录),在运行tomcat时会自动查找该目录并启动,如下图:2.1.2 添加系统变量Path路径
添加tomcat的binery所在的目录,在path中可以使用系统变量的方法%CATALINA_HOME%\bin\或者也可以使用完整的安装路径来代替系统变量的方法来设置变量的安装路径。2.2、J2EE安装及配置
j2ee的安装会相较简单些,学过java的开发人员都知道在开发时首先需要安装初级版本j2se,然后才能安装j2ee,它们两种的开发应用有较大的区别。J2SE的安装和配置和原始的安装配置一致,在安装后配置相应的JAVA_HOME变量和Path路径即可,安装完成后验证功能即可。
三、Activiti安装
3.1、框架及引擎安装
上面的步骤配置好后接下来将Activiti的wars文件夹中的activiti-explorer.war和activiti-rest.war复制到tomcat的webapps文件夹内,然后活动运行startup.bat文件启动tomcat,等待安装完成。在此过程中会检测系统并安装H2内存数据库,并安装相应的Demo模型。安装完成后打开网址http://localhost:8080/activiti-explorer,使用kermit用户登录,看到下图代表安装成功:
3.2、在Eclipse中安装
经过上步骤后证明Activiti的框架已经搭建完成,但是想要使用试图设计器的话需要在Eclipse中安装Activiti的设计插件,具体的配置安装方法如下:
3.2.1 打开安装界面
依次打开Help-->Install New Software,如下图:3.2.2 安装
打开安装界面后在输入网址的地方输入http://activiti.org/designer/update/ 网址,然后选择第一个选项安装相应的设计器插件。四.集成Activiti到项目
1.框架集成第一步都是导包,这些jar包可以在官方包下找到。
1.1首先把libs下的包添加到项目。
1.2然后到activiti-rest下复制mybatis,lang3,joda-time包添加到项目中
1.3
新建测试类,创建Activiti核心对象PrcessEngine(流程引擎)的同时,数据库表也就自动创建了,测试代码如下:
ProcessEngineConfiguration cfg = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();
// cfg.setJdbcDriver("com.microsoft.jdbc.sqlserver.SQLServerDriver");
cfg.setJdbcDriver("net.sourceforge.jtds.jdbc.Driver");
cfg.setJdbcUrl("jdbc:jtds:sqlserver://211.149.185.158:5225;DatabaseName=webPur");
cfg.setJdbcUsername("sa");
cfg.setJdbcPassword("Hhxh@123456");
cfg.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
ProcessEngine processEngine = cfg.buildProcessEngine();
在Activiti中,在创建核心的流程引擎对象时会自动建表。如果程序正常执行,根据配置,数据库会自动建库,然后创建23张表。
环境测试改进
在Actiiti5中定制流程必定会操作到数据库,如果都像上面那样写一大段代码会非常麻烦,所以我们可以把数据库连接配置写入配置文件。
在Activiti5的官方示例中并没有现成的配置文件,所以先得找到activiti-rest\WEB-INF\classes下有:
activiti-context.xml : 一个类似spring结构的配置文件,清空内容后改名为activiti.cfg.xml,用来做流程引擎的相关配置。
按照上面代码配置ProcessEngineConfiguration对象,主要定义数据库的连接配置和建表策略,配置文件代码如下:
Java代码如下:
createProcessEngineConfigurationFromResource的参数值为我们添加的配置文件activiti.cfg.xml的名称,执行java代码,流程引擎对象创建成功运行后数据库会自动建表。