說說如何搭建 Activiti 開發環境

1 下載

首先到官網下載 Activiti 5.xjava

1.1 目錄結構

解壓後,Activiti 5.x 的目錄結構爲:mysql

  1. database:Activiti 引擎數據庫腳本。
    • create:建立。
    • drop:刪除。
    • upgrade:版本升級。
  2. doc :文檔。
    • javadocs:API 說明。
    • userguide:用戶手冊。
    • xsd:與流程定義相關的 scheme。
  3. libs:Activiti 引擎各個模塊的 JAR 包。
  4. wars: explorer 模塊和 rest 模塊的 WAR 包。

1.2 API 包說明

說明
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~

2 開發環境

2.1 JDK 1.6+

Activiti 5.x 須要 JDK 1.6+ 版本。檢查本地開發環境的 java 版本命令爲:spring

java -version
複製代碼

輸出結果:sql

2.2 Ant 1.8.1+

Activiti Explorer 的示例程序須要 Ant 1.8.1+ 構建運行。檢查本地開發環境的 Ant 版本命令爲:數據庫

ant -version
複製代碼

輸出結果: bash

2.3 Maven 3.x

咱們使用 Maven 來管理項目依賴。檢查本地開發環境的 Maven 版本命令爲:服務器

mvn -version
複製代碼

輸出結果:oracle

3 配置文件

3.1 Activiti 配置文件

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>
複製代碼
  • 它實際上就是 Spring 配置文件。
  • processEngineConfiguration bean 對象,是 Activiti 默認的引擎配置管理器名稱。
  • 這裏咱們配置了 h2 內存數據庫,由於速度快,因此很容易測試。

引擎配置參數說明以下: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 級別所記錄的信息以外,還記錄了流程變量信息。

3.2 Maven 配置

能夠配置 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~

相關文章
相關標籤/搜索