Jbpm把流程定義和流程執行都會持久化到數據庫中,所以我們需要在數據庫中創建所需的數據庫表,數據庫表的創建有以下三種方式。
Jbpm數據庫表的創建
在入門套件解壓後的jbpm-db/build目錄中有已經生成好的創建各種數據庫的數據庫表的腳本文件,我們只需要使用相應腳本文件在數據庫中創建表即可。
如果不存在腳本文件,可以參考使用jbpm-db下的build.xml中的任務生成腳本,具體不再詳述。
如下Ant任務腳本:
<target name="create.db2" depends="" description="creates database with the jbpm tables">
<taskdef name="jbpmschema" classname="org.jbpm.ant.JbpmSchemaTask">
<classpath refid="classpath.ant" />
</taskdef>
<jbpmschema actions="create"
cfg="${basedir}/config.files/hibernate.cfg.xml"
properties="${basedir}/config.files/create.db.hibernate.properties"/>
</target>
需要兩個配置文件hibernate.cfg.xml(位於入門套件解壓後的jbpm/src/config.files文件夾中)和create.db.hibernate.properties(位於入門套件解壓後的jbpm/src/resources/hsqldb文件夾中),這兩個文件指定了Hibernate的配置信息,可以直接從發行包中拷貝使用,具體位置和數據庫連接信息根據實際情況調整。classpath.ant定義爲指向Jbpm庫(還包括相關庫,如Hibernate相關庫)。
也可以把創建庫表的任務與流程定義的打包和部署集成起來使用,請參考build.depoly.xml(位於入門套件解壓後的jbpm文件夾中)中的create.db任務。
//獲取配置實例,默認是根據default.jbpm.cfg.xml。
//也可以根據指定的配置文件獲取配置實例。
JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
//創建數據庫表
jbpmConfiguration.createSchema();
以上代碼的執行需要依賴Hibernate的配置文件hibernate.cfg.xml。
注:在創建數據表之前,數據表所在數據庫必須已經存在。即只是創建Table,而把Table創建在哪個Database中,該Database必須已經存在。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.