1. 程式人生 > >Activiti工作流的環境配置

Activiti工作流的環境配置

分享一下我老師大神的人工智慧教程吧。零基礎,通俗易懂!風趣幽默!http://www.captainbed.net/

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               

繼上篇《Activiti工作流簡介》

        在上篇中,對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的用法。

               

         

           

給我老師的人工智慧教程打call!http://www.captainbed.net/

這裡寫圖片描述