3.3 數(shù)據(jù)庫配置

有兩種方法可以配置Activiti引擎將使用的數(shù)據(jù)庫。第一個(gè)選項(xiàng)是定義數(shù)據(jù)庫的JDBC屬性:

jdbcUrl 數(shù)據(jù)庫的JDBC URL。

dbcDriver 實(shí)現(xiàn)特定數(shù)據(jù)庫類型的驅(qū)動(dòng)程序。

jdbcUsername 用于連接數(shù)據(jù)庫的用戶名。

jdbcPassword 連接數(shù)據(jù)庫的密碼。

基于提供的JDBC屬性構(gòu)造的數(shù)據(jù)源將具有默認(rèn)的[MyBatis](http://www.mybatis.org/)連接池設(shè)置??梢赃x擇設(shè)置以下屬性來調(diào)整該連接池(取自MyBatis文檔):

jdbcMaxActiveConnections 任何時(shí)候連接池最多可以包含的活動(dòng)連接數(shù)。默認(rèn)值為10。

jdbcMaxIdleConnections 任何時(shí)候連接池最多可以包含的空閑連接數(shù)。

jdbcMaxCheckoutTime 在強(qiáng)制返回連接之前,可以從連接池中*檢出*連接的時(shí)間量(以毫秒為單位)。默認(rèn)值為20000(20秒)。

jdbcMaxWaitTime 這是一個(gè)低級(jí)別設(shè)置,它為池提供了一個(gè)機(jī)會(huì)來打印日志狀態(tài),并在它花費(fèi)異常時(shí)間的情況下重新嘗試獲取連接(以避免在池配置錯(cuò)誤時(shí)永遠(yuǎn)無聲地失?。┠J(rèn)值是20000(20秒)

示例數(shù)據(jù)庫配置

<property name="jdbcUrl" value="jdbc:h2:mem:activiti;DB_CLOSE_DELAY=1000" />
<property name="jdbcDriver" value="org.h2.Driver" />
<property name="jdbcUsername" value="sa" />
<property name="jdbcPassword" value="" />

或者,javax.sql.DataSource可以使用實(shí)現(xiàn)(例如來自Apache Commons的 DBCP )

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" >
  <property name="driverClassName" value="com.mysql.jdbc.Driver" />
  <property name="url" value="jdbc:mysql://localhost:3306/activiti" />
  <property name="username" value="activiti" />
  <property name="password" value="activiti" />
  <property name="defaultAutoCommit" value="false" />
</bean>

<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">

    <property name="dataSource" ref="dataSource" />
    ...

請(qǐng)注意,Activiti不附帶允許定義此類數(shù)據(jù)源的庫。因此,您必須確保庫(例如來自DBCP)位于類路徑中。

無論您使用的是JDBC還是數(shù)據(jù)源方法,都可以設(shè)置以下屬性:

  • databaseType:通常不需要指定此屬性,因?yàn)樗菑臄?shù)據(jù)庫連接元數(shù)據(jù)中自動(dòng)分析的。只應(yīng)在自動(dòng)檢測(cè)失敗的情況下指定。可能的值:{h2,mysql,oracle,postgres,mssql,db2}。不使用默認(rèn)H2數(shù)據(jù)庫時(shí),此屬性是必需的。此設(shè)置將確定將使用哪些創(chuàng)建/刪除腳本和查詢。請(qǐng)參閱支持的數(shù)據(jù)庫部分用于哪些類型支持的概述。

  • databaseSchemaUpdate:允許設(shè)置策略以在流程引擎啟動(dòng)和關(guān)閉時(shí)處理數(shù)據(jù)庫模式。

    • false (默認(rèn)值):在創(chuàng)建流程引擎時(shí)檢查庫模式的版本,如果版本不匹配則拋出異常。

    • true:構(gòu)建流程引擎時(shí),將執(zhí)行檢查,并在必要時(shí)執(zhí)行架構(gòu)更新。如果架構(gòu)不存在,則創(chuàng)建它。

    • create-drop:在創(chuàng)建流程引擎時(shí)創(chuàng)建架構(gòu),并在關(guān)閉流程引擎時(shí)刪除架構(gòu)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容