Activiti工作流的環境配置
分享一下我老師大神的人工智慧教程吧。零基礎,通俗易懂!風趣幽默!http://www.captainbed.net/
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!
在上篇中,對Activiti工作流進行了介紹。在本篇繼續給大家介紹如何進行Activiti工作流的環境配置,不多說,直接上乾貨,參考我的來配置。。
一、activiti 軟體環境
Eclipse, jdk1.8.0_66, Tomcat 7.0, mysql資料庫。
二、安裝流程設計器(eclipse外掛)
有兩種方法,有網路的和無網路。
有網路的情況經過個人實驗,安裝時間相當長,最後直接放棄。咱們來看一下無網路情況下安裝步驟。
1)解壓檔案activiti-eclipse-plugin.zip(下載地址:http://download.csdn.net/detail/u013037201/9620362)
2)把壓縮包中的內容放入eclipse根目錄的dropins資料夾下
3)重啟eclipse,點選新建工程new->Other。
如果看到以上紅框中的內容,說明安裝成功了!
三、對流程設計器的使用說明
開啟選單Windows->Preferences->Activiti->Save Action下流程流程圖片的生成方式:
打上勾後Activiti畫圖工具會在流程檔案儲存時自動生成一張流程圖片。
四、新增jar包
其中包括Activiti的,spring的以及mysql資料庫連線等jar包。
五、初始化資料庫
建庫命令:create database itcast0711activiti default character set utf8;
在Activiti中,在建立核心的流程引擎物件時會自動建立表。如果程式正常執行,mysql會自動建庫,然後建立23張表。
以下是兩種建立表的方式。
<span style="font-size:18px;">package junit;import org.activiti.engine.ProcessEngine;import org.activiti.engine.ProcessEngineConfiguration;import org.junit.Test;public class TestActiviti { /** 使用程式碼建立工作流 需要的23張表 */ @Test public void createTable() { ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration .createStandaloneProcessEngineConfiguration(); processEngineConfiguration.setJdbcDriver("com.mysql.jdbc.Driver"); processEngineConfiguration .setJdbcUrl("jdbc:mysql://localhost:3306/itcast0711activiti?useUnicode=true&characterEncoding=utf8"); processEngineConfiguration.setJdbcUsername("root"); processEngineConfiguration.setJdbcPassword("130427"); /* * public static final String DB_SCHEMA_UPDATE_FALSE = "false"; * 不能自動建立表,需要表存在 public static final String DB_SCHEMA_UPDATE_CREATE_DROP * = "create-drop";先刪除表再建立表 public static final String * DB_SCHEMA_UPDATE_TRUE = "true";如果表不存在,自動建立表 */ processEngineConfiguration .setDatabaseSchemaUpdate(processEngineConfiguration.DB_SCHEMA_UPDATE_TRUE); // 工作流的核心物件,ProcessEngine物件 ProcessEngine processEngine = processEngineConfiguration .buildProcessEngine(); System.out.println("processEngine:" + processEngine); } /** 使用配置檔案建立工作流需要的23張表 */ @Test public void creteTable_2() { // ProcessEngineConfiguration processEngineConfiguration = // ProcessEngineConfiguration // .createProcessEngineConfigurationFromResource("activiti.cfg.xml"); // 工作流的核心物件,ProcessEngine物件 ProcessEngine processEngine = ProcessEngineConfiguration .createProcessEngineConfigurationFromResource( "activiti.cfg.xml").buildProcessEngine(); System.out.println("processEngine:" + processEngine); }}</span>
從上面程式碼中可以分析出,像上面寫一大堆程式碼操作資料庫非常麻煩,第二種很好地解決了這個問題。它把資料庫連線配置寫入了配置檔案。
activiti.cfg.xml
<span style="font-size:18px;"><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.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd"> <!-- ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration(); //連線資料庫的配置 processEngineConfiguration.setJdbcDriver("com.mysql.jdbc.Driver"); processEngineConfiguration.setJdbcUrl("jdbc:mysql://localhost:3306/itcast0711activiti?useUnicode=true&characterEncoding=utf8"); processEngineConfiguration.setJdbcUsername("root"); processEngineConfiguration.setJdbcPassword("130427"); /* public static final String DB_SCHEMA_UPDATE_FALSE = "false"; 不能自動建立表,需要表存在 public static final String DB_SCHEMA_UPDATE_CREATE_DROP = "create-drop";先刪除表再建立表 public static final String DB_SCHEMA_UPDATE_TRUE = "true";如果表不存在,自動建立表 */ processEngineConfiguration.setDatabaseSchemaUpdate(processEngineConfiguration.DB_SCHEMA_UPDATE_TRUE); --> <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="130427"></property> <!-- 沒有表建立表 --> <property name="databaseSchemaUpdate" value="true"></property> </bean> </beans></span>
我們執行單元測試,流程引擎物件建立成功執行後資料庫會自動建表。效果如下:
六、log4j.properties 日誌配置檔案
用日誌來顯示資訊和錯誤,在程式碼除錯中起了很大的作用,系統必備。
看了這些後,對Activiti工作流框架的環境配置就熟悉了很多。在後面會為大家展示一個小例子,在實踐中掌握Activiti的用法。