從零開始學習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需要的表就建立完成了