天天看點

Activiti工作流(2):開發環境配置

1.配置Activiti開發環境

activiti5 軟體環境

1)  JDK1.6或者更高版本

2)  支援的資料庫有:h2, mysql, oracle, postgres, mssql, db2等。

3)  支援activiti5運作的jar包

開發環境為Eclipse3.7或者以上版本,myeclipse為8.6版本。

相關資源下載下傳

1)            JDK可以到sun的官網下載下傳

http://www.oracle.com/technetwork/java/javase/downloads/index.html

2)            資料庫,例如:mysql可以在官網上下載下傳。

http://www.mysql.com

3)            activiti也可以到Activiti官方網站下載下傳得到。

http://activiti.org/download.html

4)   Eclipse3.7或者MyEclipse8.6也可以到相應的網站上獲得下載下傳。

安裝流程設計器(eclipse插件)

安裝方式一:

在有網絡的情況下,安裝流程設計器步驟如下:

打開 Help -> Install NewSoftware。

在Install界面闆中,點選Add按鈕:配置新裝插件的位址和名稱。

然後填入下列字段

Name: Activiti BPMN 2.0 designer

Location: http://activiti.org/designer/update/

回到Install界面,在面闆正中清單中把所有展示出來的項目都勾上

在Detail部分記得選中 "Contact all updates sites.." ,因為它會檢查所有目前安裝所需要的插件并可以被Eclipse下載下傳.

安裝完以後,點選建立工程new->Other…打開面闆,如果看到Activiti檔案夾選擇說明安裝成功了。

安裝方式二:

在沒有網絡的情況下,安裝流程設計器步驟如下:

1)            去百度搜尋activiti eclipse插件下載下傳解壓

2)            把壓縮包中的内容放入eclipse根目錄的dropins檔案夾下

3)            重新開機eclipse,點選建立工程new->Other…打開面闆,如果看到Activiti檔案夾選擇說明安裝成功了。

安裝完成之後,記住去eclipse配置去看看自動生成流程圖檔的複選框是否勾上:

打開菜單Windows->Preferences->Activiti->Save下流程流程圖檔的生成方式:

選中create process definition image when saving the diagram

作用:雖然流程引擎在單獨部署bpmn檔案時會自動生成圖檔,但在實際開發過程中,自動生成的圖檔會導緻和BPMN中的坐标有出入,在實際項目中展示流程目前位置圖會有問題。

是以完成以上配置後,會由我們自己來管理流程圖檔。在釋出流程時把流程規則檔案和流程圖檔一起上傳就行了。

添加Activiti5的jar包

在activiti-5.13->wars目錄下是一些示例項目,解壓activiti-rest項目,導入activiti-rest目錄中WEB-INF\lib下所有包。添加到classpath中。

由于我使用的是Mysql資料庫,Mysql資料庫的連結驅動Activiti官方包中并沒有提供,需要我們自己導入。手動導入mysql-connector-java.jar,添加到classpath下。

初始化資料庫

方法一:執行sql腳本檔案activiti-5.13\database\create\activiti.mysql.create.*.sql檔案

方法二:使用代碼:

@Test
public void createTable() {
//1.建立Activiti配置對象的執行個體
ProcessEngineConfiguration configuration = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();
//2.設定資料庫連接配接資訊
// 設定資料庫位址
configuration.setJdbcUrl("jdbc:mysql://localhost:3306/testactiviti?createDatabaseIfNotExist&useUnicode=true&characterEncoding=utf8");
// 資料庫驅動
configuration.setJdbcDriver("com.mysql.jdbc.Driver");
// 使用者名
configuration.setJdbcUsername("root");
// 密碼
configuration.setJdbcPassword("root");
// 設定資料庫建表政策
/**
 * DB_SCHEMA_UPDATE_TRUE:如果不存在表就建立表,存在就直接使用
 * DB_SCHEMA_UPDATE_FALSE:如果不存在表就抛出異常
 * DB_SCHEMA_UPDATE_CREATE_DROP:每次都先删除表,再建立新的表
 */
configuration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);
//3.使用配置對象建立流程引擎執行個體(檢查資料庫連接配接等環境資訊是否正确)
ProcessEngine processEngine = configuration.buildProcessEngine();
System.out.println(processEngine);
}
           

方法三:使用配置檔案:在類路徑下建立activiti.cfg.xml。

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
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
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
    <!-- 資料庫連接配接配置 -->
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/testactiviti?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=utf8"></property>
<property name="jdbcDriver" value="com.mysql.jdbc.Driver"></property>
<property name="jdbcUsername" value="root"></property>
<property name="jdbcPassword" value="root"></property>
<!-- 建表政策 -->
<property name="databaseSchemaUpdate" value="true"></property>
</bean>
</beans><span style="color:#ff3300;">
</span>           
@Test
public void testDBByProperties() throws Exception {
// 1。 加載classpath下名為activiti.cfg.xml檔案,建立核心流程引擎對象
ProcessEngine processEngine =ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml").buildProcessEngine();
System.out.println(processEngine);
}           

(上述ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml")可以改成ProcessEngines.getDefaultProcessEngine(),

因為預設的配置檔案名就叫

activiti.cfg.xml,配置檔案要放在resource檔案夾下面。)

在Activiti中,在建立核心的流程引擎對象時會自動建表。如果程式正常執行,mysql會自動建庫,然後建立23張表。

至此初始化環境完成。。

第二篇完結。

  • 郵箱:[email protected]

繼續閱讀