真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Activiti流程引擎對象及配置原理解析

流程引擎對象和其配置對象都是activiti的核心對象

創(chuàng)新互聯(lián)主要從事成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)青浦,十多年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220

一、activiti的簡單使用流程

activiti在工作時,一般有以下幾個步驟:

  • 創(chuàng)建一個流程引擎配置對象ProcessEngineConfiguration對流程引擎進(jìn)行配置
  • 通過流程引擎配置對象來獲取流程引擎對象ProcessEngine
  • 通過流程引擎對象來部署流程圖
  • 啟動流程

二、流程引擎配置對象ProcessEngineConfiguration的介紹

activiti用ProcessEngineConfiguration對象來配置流程引擎。ProcessEngineConfiguration類提供了多個創(chuàng)建該類對象的靜態(tài)方法,可以讀取相應(yīng)的配置文件,返回ProcessEngineConfiguration實例。通過該類中提供的getter和setter方法可以對流程引擎配置對象進(jìn)行配置。

三、activiti配置文件的介紹

activiti創(chuàng)建流程引擎配置對象時需要一個配置文件,



  
  
    
    
    
    
    
  

仔細(xì)觀察這個配置文件,這其實是一個spring的配置文件,在其中配置了一個ProcessEngineConfiguration類的bean,然后在代碼中就可以讀取這個配置文件,獲取這個bean。

processEngineConfiguration這個bean要注入的屬性:

(1)數(shù)據(jù)庫連接相關(guān)的屬性

(2)databaseSchemaUpdate,數(shù)據(jù)庫策略,

  • false:默認(rèn)值,設(shè)置為該值,activiti在啟動時如果數(shù)據(jù)庫中沒有表或者版本不匹配,會拋出異常
  • true:啟動時會對所有表進(jìn)行更新,如果沒有表就會自動創(chuàng)建表
  • create-drop: 啟動時創(chuàng)建表,關(guān)閉時刪除表

針對其中的數(shù)據(jù)庫連接相關(guān)的屬性,我們還可以在這個配置文件中再配置一個數(shù)據(jù)源,在這里引用數(shù)據(jù)源的bean



  
  
  
  

四、獲取流程引擎配置對象

4.1 讀取默認(rèn)名稱的配置文件來創(chuàng)建配置對象

ProcessEngineConfiguration.createProcessEngineConfigurationFromResourceDefault() 這個方法會在classpath下讀取名為activiti.cfg.xml的配置文件,并獲取名稱為processEngineConfiguration的bean返回。

所以如果在resources目錄下給定一個activiti.cfg.xml配置文件,在其中創(chuàng)建一個名為processEngineConfiguration的bean,在程序中調(diào)用這個方法就可以得到流程引擎配置對象。

  /**
   * 用ProcessEngineConfiguration.createProcessEngineConfigurationFromResourceDefault()
   * 創(chuàng)建流程引擎配置對象
   */
  @Test
  public void test1() {
    ProcessEngineConfiguration configuration = ProcessEngineConfiguration.createProcessEngineConfigurationFromResourceDefault();
    System.out.println(configuration);
  }

4.2 讀取自定義名稱的配置文件來創(chuàng)建流程引擎配置對象

ProcessEngineConfiguration.createProcessEngineConfigurationFromResource()方法可以加載指定位置的配置文件,并獲取給定名稱的bean來得到流程引擎配置對象。

  @Test
  public void test2() {
    ProcessEngineConfiguration configuration = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("cfg/activiti-cfg.xml", "processEngineConfiguration");
    System.out.println(configuration);
  }

五、流程引擎對象

ProcessEngine,流程引擎對象,是activiti的核心對象之一,使用該對象來部署流程。

要獲取該對象時,需要先獲取ProcessEngineConfiguration 流程引擎配置對象來對流程引擎進(jìn)行配置,然后通過這個配置對象來獲取流程引擎對象。下面說明下如何獲取流程引擎對象

5.1 buildProcessEngine方法創(chuàng)建
這個方法是ProcessEngineConfiguration類的實例方法,該方法返回一個已經(jīng)配置好的流程引擎對象

  @Test
  public void testCreateProcessEngine() {
    ProcessEngineConfiguration configuration = ProcessEngineConfiguration.createProcessEngineConfigurationFromResourceDefault();
    ProcessEngine processEngine = configuration.buildProcessEngine();
    System.out.println(processEngine);
  }

5.2 用ProcessEngines類來獲取

activiti在ProcessEngines類中也提供了創(chuàng)建流程引擎對象的方法,這是一個創(chuàng)建和關(guān)閉流程引擎的工具類,所有創(chuàng)建的(包括使用其他方式創(chuàng)建的)ProcessEngine實例都會被注冊到ProcessEngines中,實際上是在該類中維護(hù)了一個Map對象,key為ProcessEngine實例的名稱,value為ProcessEngine實例。

5.2.1使用ProcessEngines.init()方法獲取

ProcessEngines的init方法,會讀取activiti的默認(rèn)配置文件,即classpath下的activiti.cfg.xml文件,并將創(chuàng)建的流程引擎實例緩存到map中,該方法會在map中創(chuàng)建key=default的ProcessEngine對象,

然后我們就可以先獲取到這個map,然后從map中獲取key=defalut的流程引擎對象。

  @Test
  public void testCreateProcessEngine2() {
    //讀取配置文件,創(chuàng)建流程引擎對象緩存到map中
    ProcessEngines.init();
    //獲取map
    Map enginesMap = ProcessEngines.getProcessEngines();
    //獲取key為default的對象
    ProcessEngine processEngine = enginesMap.get("default");
    System.out.println(processEngine);
  }

5.2.2 使用getDefaultProcessEngine()方法獲取

ProcessEngines的getDefaultProcessEngine()方法,會返回緩存map中的key為default的流程引擎對象,如果這個map還沒有進(jìn)行初始化,該方法就會先調(diào)用ProcessEngines.init()方法初始化緩存map,然后再獲取key為default的流程引擎對象。

  @Test
  public void testCreateProcessEngine3() {
    ProcessEngine defaultProcessEngine = ProcessEngines.getDefaultProcessEngine();
    System.out.println(defaultProcessEngine);
  }

比較以上的幾種創(chuàng)建流程引擎的方式,我們一般選擇ProcessEngines.getDefaultProcessEngine()方法來獲取,

因為這種方式最簡單,只需要提供一個使用默認(rèn)名稱的配置文件activiti.cfg.xml,在其中做好對流程引擎的配置

然后我們就可以直接獲取流程引擎對象。

六、總結(jié)

以上介紹了activiti中的兩個核心對象,流程引擎配置對象和流程引擎對象,以及如何獲取這兩個對象。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。


當(dāng)前標(biāo)題:Activiti流程引擎對象及配置原理解析
文章源于:http://weahome.cn/article/iiidpj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部