首先到官網下載 Activiti 5.x。java
解壓後,Activiti 5.x 的目錄結構爲:mysql
包 | 說明 |
---|---|
org.activiti.engine | Service 接口 、 異常類定義、流程引擎、流程引擎配置以及運行時異常類 。 |
org.activiti.engine.delegate | 定義了處理流程的行爲和監聽事件規範,咱們能夠在流程定義中配置監聽接口。能夠經過它來實現流程結束時的歸檔功能。 |
org.activiti.engine.form | 可用於自定義表單。定義表單有兩種方式:【1】在流程定義中設置每一個節點的表單內容,能夠設置每一個字段( Field )的類型 、 是否能夠編輯等屬性 。 【2】經過外置表單的形式,經過 formkey 來指定外置表單文件的名稱,類型能夠是 .xml 或 .form。能夠經過 FormService 接口實現讀取和提交表單。 |
org.activiti.engine.history | 包含了歷史記錄查詢對象及查詢結果的歷史數據對象接口 。好比歷史流程實例(HistoricProcessInstance ) 、 歷史任務 ( HistoricTask ) 、 歷史活動( HistoricActivity ) 、 歷史詳細( HistoricDetail )等。 |
org.activiti.engine.identity | 用於管理身份和認證功能。 |
org.activiti.engine.management | 流程引擎管理功能,好比能夠監控引擎的狀態以及任務調度功能 。 |
org.activiti.engine.query | 定義了查詢功能。 |
org.activiti.engine.repository | 管理與查詢流程資源。好比能夠部署流程定義 、 自定義表單 、 規則等文件,還能夠讀取流程圖片 、流程定義( bpmn20.xml )文件 。 |
org.activiti.engine.runtime | 用於查詢運行時數據。還能夠控制流程的狀態(掛起與恢復)。 |
org.activiti.engine.task | 定義了任務對象。經過 TaskService 接口,咱們能夠對任務( Task )進行管理(建立、刪除、指派、批註、附件管理以及變量查詢) 。 |
org.activiti.engine.test | 經過它,能夠快速建立測試用例,用於驗證流程定義的業務邏輯流轉是否符合業務要求。這對於採用 TDD 開發的企業與開發人員來講,簡直就是福音哦O(∩_∩)O~ |
Activiti 5.x 須要 JDK 1.6+ 版本。檢查本地開發環境的 java 版本命令爲:spring
java -version
複製代碼
輸出結果:sql
Activiti Explorer 的示例程序須要 Ant 1.8.1+ 構建運行。檢查本地開發環境的 Ant 版本命令爲:數據庫
ant -version
複製代碼
輸出結果: bash
咱們使用 Maven 來管理項目依賴。檢查本地開發環境的 Maven 版本命令爲:服務器
mvn -version
複製代碼
輸出結果:oracle
Activiti 配置文件名爲 activiti.cfg.xml,用於定義流程引擎初始化參數 、流程相關 bean、 郵件服務器及各類流程事件監聽。異步
<?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.StandaloneInMemProcessEngineConfiguration">
<property name="databaseType" value="h2"/>
<property name="databaseSchemaUpdate" value="true"/>
<property name="jobExecutorActivate" value="false"/>
<property name="history" value="full"/>
</bean>
</beans>
複製代碼
引擎配置參數說明以下:maven
參數 | 說明 |
---|---|
databaseType | 數據庫類型。默認爲 h2,還支持 mysql、oracle、postgres、mssql 以及 db2。 |
databaseSchemaUpdate | 數據庫腳本的更新策略。false:不更新;true: Activiti 表不存在時 , 自動建立表 ; 當 Activiti 的 jar 文件定義的版本號與數據庫中記錄的版本號不一致時,自動執行相應的升級腳本,而且會記錄升級過程 。 create-drop:建立引擎時執行數據庫初始化腳本;引擎銷燬時 , 執行數據庫刪除腳本。該策略通常用於單元測試。 |
jobExecutorActivate | 是否啓用做業執行功能, 默認爲 false。 true 表示引擎不間斷地刷新數據庫中的做業表 , 檢查是否存在須要執行的做業 , 有則觸發執行做業 。 做業的來源能夠是各類時間事件或異步任務 。 |
history | 記錄歷史日誌明細級別,默認爲 audit。none:不記錄,此舉能夠提升性能。activity:保存全部的流程實例、任務與活動信息。audit:除了 activity 級別所記錄的信息以外,還記錄了表單屬性。full:最全的日誌記錄。好比除了 audit 級別所記錄的信息以外,還記錄了流程變量信息。 |
能夠配置 Maven 倉庫爲:repo1.maven.org/maven2/
首先在 pom.xml 中定義 Activiti 的版本號屬性:
<properties>
<activiti.version>5.22.0</activiti.version>
</properties>
複製代碼
而後引用 Activiti 引擎庫:
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-engine</artifactId>
<version>${activiti.version}</version>
</dependency>
複製代碼
由於可能還會引用 Activiti 的其它庫,因此咱們這裏定義了一個版本號屬性,便於之後升級版本之用。
至此,Activiti 開發環境就算是搭建好咯,後面會說說如何使用 Activiti Explorer 設計流程模型哦O(∩_∩)O~