4 數據庫初始化
jBPM 需要數據庫支持, jBPM 會把自己的一個初始化數據存儲到數據庫,同時工作流的數據也是存儲到數據庫中的。 jBPM 使用 Hibernate 來做爲自己的存儲層,因此只要是 Hibernate 支持的數據庫, jBPM 也就支持。
本文先以 MySQL 爲例,然後再以 Oracle 爲例,來談談 jBPM 的數據庫初始化操作。
注:在上面的 JBoss 自帶的示例中,並沒有設置數據庫,那是因爲 jBPM 默認使用的是內存數據庫 hsqldb 。
4.1 MySQL
1 、首先安裝 MySQL 。
MySQL 的安裝比較簡單,網上也有很多文章,本文不再贅述。本指南所用 MySQL 版本爲 MySQL 4.1 ( for windows )。再找一個 MySQL 客戶端,目的是方便查看數據庫中的數據,本文推薦使用 MySQL 網站上免費提供的“ MySQL Query Brower ”,當然你用其他的客戶端也行,比如 MySQL-Front 。
2 、建庫
MySQL 中創建一個庫,庫名: jbpm
3 、生成建表的 SQL 語句並建表
將 jbpm-starters-kit-3.1.1 下的子目錄 jbpm 改名爲 jbpm.3 ,否則在執行下面的 ant 命令時會報如 jbpm.3 目錄不存在的錯誤:
D:\jbpm-starters-kit-3.1.1\jbpm-db\build.xml:361: The following error occurred while executing this line:
D:\jbpm-starters-kit-3.1.1\jbpm-db\build.xml:68: Basedir D:\jbpm-starters-kit-3.1.1\jbpm.3 does not exist
在 DOS 窗下,進入 D:\jbpm-starters-kit-3.1.1\jbpm-db 目錄,執行如下命令:
ant mysql.scripts
執行成功後,在 D:\jbpm-starters-kit-3.1.1\jbpm-db\build\mysql\scripts 目錄裏生成了四個 sql 文件,它們做什麼用的一看名字就知道了。在 MySQL 客戶端中執行“ mysql.create.sql ”腳本,這樣將在 jbpm 庫中創建一個個的數據表。
4.2 Oracle
先安裝好 Oracle 服務器。我們公司有現存的 Oracle 服務器,也提供給了我一個屬於我自己的用戶名,一登錄就可以任意在我的庫之下創建表了。所以這一步就省了,沒有的自個先裝好吧。
訪問 Oracle 推薦用“ PLSQL Developer ”。不過要連接 Oracle 還要在本機上裝上 Oracle 自己的客戶端程序,裏面提供了 JDBC 包和一些配置。要連接服務器還得配置一下,我一般都是不用 GUI 而直接改 tnsnames.ora 文件,在我的電腦裏此文件的目錄地址是: D:\oracle\ora92\network\ADMIN\tnsnames.ora ,內容如下 ( 兩面有兩個配置了 ) :
# TNSNAMES.ORA Network Configuration File: E:\oracle\ora92\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
WXXRDB_192.168.3.2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.2)(PORT = 1521))
)
(CONNECT_DATA =
(SID = wxxrDB)
(SERVER = DEDICATED)
)
)
WXXRDB_192.168.4.2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.4.2)(PORT = 1521))
)
(CONNECT_DATA =
(SID = wxxrDB)
(SERVER = DEDICATED)
)
)
前面都是 Oracle 的一些知識,不會的 Google 一下吧。最後配置好後,用 PLSQL Developer 輸入你的用戶名和密碼聯接到 Oracle ,就算 OK 了。
參考上面 MySQL 的步驟,基本一樣:
(1) 將 jbpm 改名爲 jbpm.3
(2) 再執行 ant oracle.scripts
(3) 用 jbpm-db\build\oracle\scripts 目錄的 oracle.create.sql 腳本,在 Oracle 中生成 jBPM 的所有表。在“ PLSQL Developer ”中可以新建一個 Command Windows 窗口然後輸入命令: @D:\jbpm-starters-kit-3.1.1\jbpm-db\build\oracle\scripts\oracle.create.sql