
一、ProcessEngine 流程引擎
- EngineServers:該接口定義了獲取各種服務(wù)類實(shí)例對象的方法。
- ProcessEngine:繼承EngineServers接口,并增加了對流程引擎名稱的獲取以及關(guān)閉。
- ProcessEngineImplement:對ProcessEngine接口中定義的方法實(shí)現(xiàn)。
- ProcessEngines:該類負(fù)責(zé)管理所有的引擎ProcessEngine的集合,并負(fù)責(zé)流程引擎實(shí)例對象的注冊、獲取、注銷等操作。
- PricwssEngineConfiguration:該抽象類實(shí)現(xiàn)接口EngineServer,提供了一系列創(chuàng)建流程引擎配置類ProcessEngineConfigureaction實(shí)例對象的方法
- ProcessEngineConfigurationImpl:該抽象類繼承PricwssEngineConfiguration,負(fù)責(zé)創(chuàng)建一系列服務(wù)類實(shí)例對象、流程引擎實(shí)例對象以及ProcessEngineImpl類實(shí)例對象。該類可以通過流程配置文件交給Spring容器管理或者使用編程方式動(dòng)態(tài)構(gòu)造。
- SpringProcessEngineConfiguration:主要用于整合Spring框架時(shí)使用,提供了幾個(gè)重要的功能:
- 創(chuàng)建流程引擎實(shí)例對象;
- 流程引擎啟動(dòng)之后自動(dòng)部署配置的流程文檔(需要配置)
- 設(shè)置流程引擎連接的數(shù)據(jù)源、事務(wù)管理器等
- StandaloneProcessEngineConfigueration:標(biāo)準(zhǔn)的流程引擎配置類。
- MultiSchemaMultiTenantProcessEngineConfiguration:“多數(shù)據(jù)庫多租戶”流程引擎配置類,Activiti通過此類為開發(fā)人員提供了自動(dòng)路由機(jī)制,這樣當(dāng)流程引擎需要連接對各數(shù)據(jù)庫進(jìn)行操作時(shí),客戶端無需關(guān)心引擎到底連接的是哪個(gè)數(shù)據(jù)庫,該類通過路由規(guī)則自動(dòng)選擇需要自動(dòng)操作的數(shù)據(jù)庫,數(shù)據(jù)庫的操作對客戶端來說是透明的,客戶端無需關(guān)心其內(nèi)部路由的實(shí)現(xiàn)機(jī)制。
- JtaProcessEnginConfiguration:故名自已,通過類名也知道該類支持JTA(Java Transaction API)
- StandaloneInMenProcessEngineConfiguration:該類通??梢栽陂_發(fā)環(huán)境中自測使用,默認(rèn)采用H2數(shù)據(jù)可存儲數(shù)據(jù)
二、EngineServer 提供了一下服務(wù)
- RepositoryServer:操作流程定義的方法。
- Runtime:操作流程實(shí)例的方法。
- FormServer:操作流程表單的方法。
- TaskServer:操作任務(wù)的方法,例如(任務(wù)的完成、掛起、激活、添加處理人、認(rèn)領(lǐng)、刪除等操作)
- HistoryServer:查詢歷史流程實(shí)例、歷史變量、歷史任務(wù)的方法
- IdentityServer:操作用戶或者用戶組的方法。
- ManagementServer:查詢數(shù)據(jù)庫表中的數(shù)據(jù)、表的元數(shù)據(jù)以及命令等方法。