从零开始学习Activiti工作流,记录下学习过程。
关于工作流的简介没什么好介绍了,只能说是个很有用的东西,数据库中23张表分别有什么用网上也有很详细的介绍,这里也不多加说明。activiti开发中除了需要必备的包之外,JDK要求在1.6以上,开发环境为Eclipse3.7或者以上版本,myeclipse为8.6版本,目前我使用的是JDK1.8.0_45和myeclipse2014。
在开发Activiti时需要安装Activiti设计器。在myeclipse中打开Help -> Install New Software. 点击Add,填入Name: Activiti BPMN 2.0 designer Location: http://activiti.org/designer/update/ 选中 "Contact all updates sites.."即可安装,这种方式需要连网。或者将下载好的插件全部内容放入eclipse根目录的dropins文件夹下。即可完成设计器插件的安装。安装完成后,打开菜单Windows->Preferences->Activiti->Save,勾选Create process definition image when saving the diagrm。这样会在流程文件保存时自动生成流程图。
以上完成所有配置,即可开始设计Activiti工作流。
下面开始第一个activiti工作流,数据库使用mysql,如果使用其他数据库在数据库部分略作修改即可。
新建一个activiti工程,得到如图所示的文件结构
在根目录新建一个lib文件夹,导入需要的jar包。方便后续查看和管理。至此,一个基本的工程就建立好了,现在就可以开始开发activiti了。
由于activiti一共有23张数据库表,开发时应该先生成这23张数据库表,我使用的是数据库的方式生成。
首先,在src/test/java中建立一个名为activiti.cfg.xml的配置文件,主要是用于建立数据库连接。代码如下
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
<!-- 连接数据的配置 -->
<property name="jdbcDriver" value="com.mysql.jdbc.Driver"></property>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/itcast0711activiti?useUnicode=true&characterEncoding=utf8"></property>
<property name="jdbcUsername" value="root"></property>
<property name="jdbcPassword" value="123456"></property>
<!-- 没有表创建表 -->
<property name="databaseSchemaUpdate" value="true"></property>
</bean>
</beans>
很基本的一些配置,建立数据库连接。在src/test/java中,新建一个unit package,新建Testactiviti.java文件,代码如下
package junit;
import org.junit.Test;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngineConfiguration;
public class TestActiviti {
//使用配置文件创建数据库表
@Test
public void createTable() {
ProcessEngine processEngine = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml") //
.buildProcessEngine();
}
}
使用junit测试运行createTable()即可在数据库中完成23张表的建立,表如下图
至此,activiti需要的表就建立完成了