參考來自activiti的用戶手冊。
activiti的配置文件解析
1.processEngine的配置
注意,
單獨創建流程引擎與
spring方式創建流程引擎是不一樣的,區別在於:processEngineConfiguration的class。
單獨:org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration
spring環境下:org.activiti.spring.SpringProcessEngineConfiguration
獲得processEngine的最簡單辦法是:

(1)單獨模式
它會去讀取classpath下的
activiti.cfg.xml(文件名必須叫這個),基於這個配置來構建引擎。

(2)Spring模式
如果要在spring環境下使用流程引擎,配置文件名可以叫做spring-activiti.xml等
自定義的名字。
而且類要發生變化:
org.activiti.spring.SpringProcessEngineConfiguration

然后這個spring-activiti.xml文件要被引用,名字要對應。
比如我的項目里,是這么引用的:
web.xml引用spring-app.xml,spring-app.xml引用spring-activiti.xml。


2.數據庫的配置
由前面可以知道,不管是單獨模式還是spring模式,processEngineConfiguration里面的屬性配置是一樣的。
但是數據庫的配置也有
兩種方式。
(1)jdbc方式

(2)dataSource方式

3.數據庫參數的動態獲取
由前面可知,配置數據庫時,是直接寫的參數,這樣不太好。建議把配置的參數單獨寫在一個文件里,然后value采取動態獲取的方式。
dataSource方式和jdbc方式,動態獲取的方式是一樣的,就只寫datasource下的了。
(1)db.properties

(2)spring-activiti.xml里動態獲取


綜上,我用的是spring模式+dataSource方式+動態獲取。涉及的文件有:web.xml,spring-app.xml,spring-activiti.xml,spring-db.xml,db.properties.
所以總的配置過程如下:
1. web.xml引用spring的總配置文件 spring-app.xml。

2.spring-app.xml引用spring-activiti.xml 和 spring-db.xml。

3.spring-activiti.xml中配置ProcessEngine這個bean,屬性值是processEngineConfiguration。

4.spring-activiti.xml配置processEngineConfiguration,采用dataSource配置方式。

5.dataSource的配置寫在spring-db.xml里。

6.dataSource里的參數采取動態獲取,參數寫在db.properties里。
