官术网_书友最值得收藏!

2.1 流程配置文件

接下來重點(diǎn)分析流程引擎實(shí)例對象的創(chuàng)建過程。首先講解在Activiti中如何定義流程配置文件,Activiti中的流程配置文件類型可以分為以下兩種。

(1)普通配置,即Activiti配置風(fēng)格,通常情況下,使用該方式的文件名稱為activiti. cfg.xml。

(2)Spring配置,即Spring配置風(fēng)格,通常情況下,使用該方式的文件名稱為activiti-context.xml。

以上兩種方式均可實(shí)現(xiàn)流程引擎的配置工作,接下來具體分析這兩種配置風(fēng)格的實(shí)現(xiàn)。

2.1.1 Activiti配置風(fēng)格

activiti.cfg.xml配置文件的內(nèi)容如代碼清單2-1所示。

代碼清單2-1 activiti.cfg.xml

通過上面配置文件的內(nèi)容,可以看出Activiti配置風(fēng)格本質(zhì)上還是使用了Spring中的文件配置方式,上面的配置文件中看到了一系列bean的聲明,盡管Spring中對于bean元素的定義有多種實(shí)現(xiàn)方式,但是上面的這種方式已經(jīng)足夠Activiti使用了。

代碼清單2-1中的第21~25行定義了一個id值為processEngineConfiguration的流程引擎配置類,然后為其設(shè)置數(shù)據(jù)源和流程引擎名稱兩個屬性值,到此為止activiti.cfg.xml文件的配置已經(jīng)結(jié)束,上述配置已經(jīng)足夠本書講解使用。

2.1.2 Spring配置風(fēng)格

activiti-context.xml配置文件的內(nèi)容如代碼清單2-2所示。

代碼清單2-2 activiti-context.xml內(nèi)容

activiti-context.xml的配置方式與activiti.cfg.xml的配置方式大體相似,因?yàn)閮烧弑举|(zhì)上都是Spring配置方式。代碼清單2-2中的第6~10行配置了事務(wù)管理器并為其設(shè)置數(shù)據(jù)源dataSource,數(shù)據(jù)源的定義可以參照activiti.cfg.xml中的定義。第12~18行定義了流程引擎配置類,第20~22行定義了流程引擎類并為其設(shè)置了processEngineConfiguration屬性值,如果使用Spring配置風(fēng)格,則必須定義流程引擎類,否則構(gòu)造流程引擎實(shí)例對象時程序會報錯,該步驟非常重要,可以參考2.3.5節(jié)的講解。接下來,定義一個Spring配置風(fēng)格的測試類以驗(yàn)證流程引擎類是否被實(shí)例化,如代碼清單2-3所示。

代碼清單2-3 ProcessEnginesTest.java

以上兩種不同的配置方式使用了不同的流程引擎配置類,前者使用了標(biāo)準(zhǔn)的流程引擎配置類為StandaloneProcessEngineConfiguration,后者使用的引擎配置類為SpringProcess-EngineConfiguration(該類位于activiti-spring-5.21.0.jar程序包中)。SpringProcess-EngineConfiguration類顧名思義,通常情況下與Spring框架整合時需要使用該類。

約定

本書如果沒有特殊說明,則流程引擎配置類均為StandaloneProcessEngineConfiguration,流程引擎類為ProcessEngine。

主站蜘蛛池模板: 灌南县| 色达县| 海南省| 留坝县| 黄石市| 九龙城区| 祁连县| 正宁县| 阿合奇县| 上饶县| 石渠县| 临澧县| 子洲县| 中牟县| 湘西| 襄垣县| 修武县| 广西| 湖南省| 黄冈市| 宁强县| 临沂市| 精河县| 越西县| 黎川县| 宜良县| 临高县| 棋牌| 旌德县| 汉中市| 喀喇沁旗| 绍兴县| 临湘市| 香河县| 阿克| 婺源县| 泌阳县| 庆云县| 蒙自县| 三台县| 建阳市|