activiti(3):引擎配置與流程部署
前面記錄過spring與activiti的快速整合,這裡再補充一點點:
1 引擎配置:
先看之前的關鍵配置:
首先,與spring整合使用,那麼,activiti對資料表的操作事務必然交由spring統一管理,因此需要使用spring提供的流程引擎配置物件,為activiti配置引數,先看一下這個類所在的位置以及這個類中的內容:<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration"> <property name="dataSource" ref="dataSource"></property> <property name="transactionManager" ref="txManager"></property> </bean> <bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean"> <property name="processEngineConfiguration" ref="processEngineConfiguration"></property> </bean>
看到這裡基本就明瞭,dataSourse與transactionManager這兩個引數的注入切入點了,將spring管理的資料來源與事務管理器與activiti需要使用的資料來源和事務管理器統一起來,當然在第三方資料來源中的資料庫屬性配置在activiti內是依然生效的。
除此之外,databaseSchemaUpdate屬性,在前文中也有過解釋,需要理解的是,在設定建表策略下,不同的資料庫是有不同的sql指令的,activiti可通過資料來源配置,獲取到connection,然後識別不同的資料庫,如果配置databaseType,則可以直接準確適配資料庫型別。
2 流程部署
純從使用的角度而言,當activiti引擎配置到spring容器中時,則無需再關心引擎的建立問題,根據不同情形,直接部署流程檔案即可使用,首先看一個介面:
流程部署的切入點,該介面僅有一個實現類
org.activiti.engine.impl.repository.DeploymentBuilderImpl
從介面方法中可見,流程資源的部署可以是載入類路徑下的資原始檔,可以根據字串路徑載入資原始檔,可以載入輸入流中的檔案和載入壓縮包檔案資源,具體使用方式根據需求場景選擇,這裡不再贅述。