activiti資料庫
① 如何將activiti的資料庫表導出
Activiti 引擎啟動時默認會檢測資料庫版本與程序版本是否相符,不相符就會拋出異常停止引擎的初始化。
這一策略可以通過引擎的初始化配置參數databaseSchemaUpdate來控制,
如下圖的spring創建流程引擎的配置文件:
<bean id="processEngineConfiguration" class="org.activiti.spring.">
<property name="dataSource" ref="dataSource" />
<property name="transactionManager" ref="TransactionManager" />
<!--
databaseSchemaUpdate:允許在流程引擎啟動和關閉時設置處理資料庫模式的策略。 �8�8
false(默認):創建流程引擎時檢查資料庫模式的版本是否與函數庫要求的匹配,如果版本不匹配就會拋出異常。
true:構建流程引擎時,執行檢查,如果有必要會更新資料庫模式。如果資料庫模式不存在,就創建一個。
create - 引擎啟動時創建表;
create-drop:創建流程引擎時創建資料庫模式,關閉流程引擎時刪除資料庫模式。
drop-create - 引擎啟動時先刪除表再重新創建表。
-->
<property name="databaseSchemaUpdate" value="true" />
<property name="jobExecutorActivate" value="false"/>
<property name="history" value="full"/>
<property name="processDefinitionCacheLimit" value="10"/>
<property name="databaseSchema" value="ITHOME"/>
</bean>
② activiti自身表與業務表分庫數據存放
1 基本思想之什麼是分庫分表?
從字面上簡單理解,就是把原本存儲於一個庫的數據分塊存儲到多個庫上,把原本存儲於一個表的數據分塊存儲到多個表上。
2 基本思想之為什麼要分庫分表?
資料庫中的數據量不一定是可控的,在未進行分庫分表的情況下,隨著時間和業務的發展,庫中的表會越來越多,表中的數據量也會越來越大,相應地,數據操作,增刪改查的開銷也會越來越大;另外,由於無法進行分布式式部署,而一台伺服器的資源(CPU、磁碟、內存、IO等)是有限的,最終資料庫所能承載的數據量、數據處理能力都將遭遇瓶頸。
③ activiti 工作流 啟動時如何取消自動建表到mysql資料庫中
<property name="databaseSchemaUpdate" >
false: 默認值。activiti在啟動時,會對比資料庫表中保存的版本,如果沒有表或者版本不匹配,將拋出異常。
true: activiti會對資料庫中所有表進行更新操作。如果表不存在,則自動創建。
create_drop: 在activiti啟動時創建表,在關閉時刪除表(必須手動關閉引擎,才能刪除表)。
drop-create: 在activiti啟動時刪除原來的舊表,然後在創建新表(不需要手動關閉引擎)。
從以上幾種情況看,無法取消自動創建表。僅供參考。
④ 如何修改activiti資料庫
Activiti默認用的事H2資料庫,要想讓activiti使用獨立運行的H2或者其他資料庫,可以修改activiti explorer web應用的WEB-INF/CLASSES目錄下的db.properties