java 流程引擎_Activiti流程引擎对象及配置原理解析「建议收藏」(Java中@)
大家好,又見面了,我是你們的朋友風(fēng)君子。如果您正在找激活碼,請(qǐng)點(diǎn)擊查看最新教程,關(guān)注關(guān)注公眾號(hào) “全棧程序員社區(qū)” 獲取激活教程,可能之前舊版本教程已經(jīng)失效.最新Idea2022.1教程親測(cè)有效,一鍵激活。
Jetbrains全系列IDE穩(wěn)定放心使用
流程引擎對(duì)象和其配置對(duì)象都是activiti的核心對(duì)象
一、activiti的簡(jiǎn)單使用流程
activiti在工作時(shí),一般有以下幾個(gè)步驟:
創(chuàng)建一個(gè)流程引擎配置對(duì)象ProcessEngineConfiguration對(duì)流程引擎進(jìn)行配置
通過(guò)流程引擎配置對(duì)象來(lái)獲取流程引擎對(duì)象ProcessEngine
通過(guò)流程引擎對(duì)象來(lái)部署流程圖
啟動(dòng)流程
二、流程引擎配置對(duì)象ProcessEngineConfiguration的介紹
activiti用ProcessEngineConfiguration對(duì)象來(lái)配置流程引擎。ProcessEngineConfiguration類提供了多個(gè)創(chuàng)建該類對(duì)象的靜態(tài)方法,可以讀取相應(yīng)的配置文件,返回ProcessEngineConfiguration實(shí)例。通過(guò)該類中提供的getter和setter方法可以對(duì)流程引擎配置對(duì)象進(jìn)行配置。
三、activiti配置文件的介紹
activiti創(chuàng)建流程引擎配置對(duì)象時(shí)需要一個(gè)配置文件,
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”>
class=”org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration”>
仔細(xì)觀察這個(gè)配置文件,這其實(shí)是一個(gè)spring的配置文件,在其中配置了一個(gè)ProcessEngineConfiguration類的bean,然后在代碼中就可以讀取這個(gè)配置文件,獲取這個(gè)bean。
processEngineConfiguration這個(gè)bean要注入的屬性:
(1)數(shù)據(jù)庫(kù)連接相關(guān)的屬性
(2)databaseSchemaUpdate,數(shù)據(jù)庫(kù)策略,
false:默認(rèn)值,設(shè)置為該值,activiti在啟動(dòng)時(shí)如果數(shù)據(jù)庫(kù)中沒有表或者版本不匹配,會(huì)拋出異常
true:啟動(dòng)時(shí)會(huì)對(duì)所有表進(jìn)行更新,如果沒有表就會(huì)自動(dòng)創(chuàng)建表
create-drop: 啟動(dòng)時(shí)創(chuàng)建表,關(guān)閉時(shí)刪除表
針對(duì)其中的數(shù)據(jù)庫(kù)連接相關(guān)的屬性,我們還可以在這個(gè)配置文件中再配置一個(gè)數(shù)據(jù)源,在這里引用數(shù)據(jù)源的bean
四、獲取流程引擎配置對(duì)象
4.1 讀取默認(rèn)名稱的配置文件來(lái)創(chuàng)建配置對(duì)象
ProcessEngineConfiguration.createProcessEngineConfigurationFromResourceDefault() 這個(gè)方法會(huì)在classpath下讀取名為activiti.cfg.xml的配置文件,并獲取名稱為processEngineConfiguration的bean返回。
所以如果在resources目錄下給定一個(gè)activiti.cfg.xml配置文件,在其中創(chuàng)建一個(gè)名為processEngineConfiguration的bean,在程序中調(diào)用這個(gè)方法就可以得到流程引擎配置對(duì)象。
/**
* 用ProcessEngineConfiguration.createProcessEngineConfigurationFromResourceDefault()
* 創(chuàng)建流程引擎配置對(duì)象
*/
@Test
public void test1() {
ProcessEngineConfiguration configuration = ProcessEngineConfiguration.createProcessEngineConfigurationFromResourceDefault();
System.out.println(configuration);
}
4.2 讀取自定義名稱的配置文件來(lái)創(chuàng)建流程引擎配置對(duì)象
ProcessEngineConfiguration.createProcessEngineConfigurationFromResource()方法可以加載指定位置的配置文件,并獲取給定名稱的bean來(lái)得到流程引擎配置對(duì)象。
@Test
public void test2() {
ProcessEngineConfiguration configuration = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource(“cfg/activiti-cfg.xml”, “processEngineConfiguration”);
System.out.println(configuration);
}
五、流程引擎對(duì)象
ProcessEngine,流程引擎對(duì)象,是activiti的核心對(duì)象之一,使用該對(duì)象來(lái)部署流程。
要獲取該對(duì)象時(shí),需要先獲取ProcessEngineConfiguration 流程引擎配置對(duì)象來(lái)對(duì)流程引擎進(jìn)行配置,然后通過(guò)這個(gè)配置對(duì)象來(lái)獲取流程引擎對(duì)象。下面說(shuō)明下如何獲取流程引擎對(duì)象
5.1 buildProcessEngine方法創(chuàng)建
這個(gè)方法是ProcessEngineConfiguration類的實(shí)例方法,該方法返回一個(gè)已經(jīng)配置好的流程引擎對(duì)象
@Test
public void testCreateProcessEngine() {
ProcessEngineConfiguration configuration = ProcessEngineConfiguration.createProcessEngineConfigurationFromResourceDefault();
ProcessEngine processEngine = configuration.buildProcessEngine();
System.out.println(processEngine);
}
5.2 用ProcessEngines類來(lái)獲取
activiti在ProcessEngines類中也提供了創(chuàng)建流程引擎對(duì)象的方法,這是一個(gè)創(chuàng)建和關(guān)閉流程引擎的工具類,所有創(chuàng)建的(包括使用其他方式創(chuàng)建的)ProcessEngine實(shí)例都會(huì)被注冊(cè)到ProcessEngines中,實(shí)際上是在該類中維護(hù)了一個(gè)Map對(duì)象,key為ProcessEngine實(shí)例的名稱,value為ProcessEngine實(shí)例。
5.2.1使用ProcessEngines.init()方法獲取
ProcessEngines的init方法,會(huì)讀取activiti的默認(rèn)配置文件,即classpath下的activiti.cfg.xml文件,并將創(chuàng)建的流程引擎實(shí)例緩存到map中,該方法會(huì)在map中創(chuàng)建key=default的ProcessEngine對(duì)象,
然后我們就可以先獲取到這個(gè)map,然后從map中獲取key=defalut的流程引擎對(duì)象。
@Test
public void testCreateProcessEngine2() {
//讀取配置文件,創(chuàng)建流程引擎對(duì)象緩存到map中
ProcessEngines.init();
//獲取map
Map enginesMap = ProcessEngines.getProcessEngines();
//獲取key為default的對(duì)象
ProcessEngine processEngine = enginesMap.get(“default”);
System.out.println(processEngine);
}
5.2.2 使用getDefaultProcessEngine()方法獲取
ProcessEngines的getDefaultProcessEngine()方法,會(huì)返回緩存map中的key為default的流程引擎對(duì)象,如果這個(gè)map還沒有進(jìn)行初始化,該方法就會(huì)先調(diào)用ProcessEngines.init()方法初始化緩存map,然后再獲取key為default的流程引擎對(duì)象。
@Test
public void testCreateProcessEngine3() {
ProcessEngine defaultProcessEngine = ProcessEngines.getDefaultProcessEngine();
System.out.println(defaultProcessEngine);
}
比較以上的幾種創(chuàng)建流程引擎的方式,我們一般選擇ProcessEngines.getDefaultProcessEngine()方法來(lái)獲取,
因?yàn)檫@種方式最簡(jiǎn)單,只需要提供一個(gè)使用默認(rèn)名稱的配置文件activiti.cfg.xml,在其中做好對(duì)流程引擎的配置
然后我們就可以直接獲取流程引擎對(duì)象。
六、總結(jié)
以上介紹了activiti中的兩個(gè)核心對(duì)象,流程引擎配置對(duì)象和流程引擎對(duì)象,以及如何獲取這兩個(gè)對(duì)象。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
總結(jié)
以上是生活随笔為你收集整理的java 流程引擎_Activiti流程引擎对象及配置原理解析「建议收藏」(Java中@)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 安卓系统被限制之后,华为手机如何在海外市
- 下一篇: 二代身份证读卡插件安装包(完整亲测可用)