JBoss 系列七十八: jBPM 6 使用 Mysql 替換默認的 H2 數據庫

概述

通過jBPM 6 發佈,快速安裝,新功能介紹部分ant install.demo安裝完成的jBPM 6默認使用H2內存數據庫,本文介紹如何使用 Mysql 替換默認的 H2 數據庫。

創建所需要的Mysql數據庫和用戶

我們使用root用戶登錄Mysql,執行如下命令即可以完成創建:

CREATE DATABASE jbpm6;
create user 'jbpm6_user'@'localhost' identified by 'jbpm6_pass';
grant all on jbpm6.* to jbpm6_user@'localhost';
FLUSH PRIVILEGES;

修改jbpmDS指向Mysql

jBPM 6默認使用的數據源爲jbpmDS,它是通過standalone/configuration/standalone-full.xml文件配置的,我們根據JBoss 7/WildFly中配置使用Mysql數據庫中描述的方法,修改jbpmDS指向Mysql,配置完成如下:

                <datasource jta="true" jndi-name="java:jboss/datasources/jbpmDS" pool-name="H2DS" enabled="true" use-java-context="true" use-ccm="true">
                    <connection-url>jdbc:mysql://localhost:3306/jbpm6</connection-url>
                    <driver>mysql</driver>
                    <security>
                        <user-name>jbpm6_user</user-name>
                        <password>jbpm6_pass</password>
                    </security>
                </datasource>

修改persistence.xml,使用MySQLDialect

打開 jbpm-console.war/WEB-INF/classes/META-INF/persistence.xml,修改<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect" />爲<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />

啓動測試

爲了簡單我們可以將dashboard-builder.war從deployments下移除,這樣我們只部署jbpm-console.war。我們使用如下目錄啓動JBoss 7:

./standalone.sh -c standalone-full.xml

啓動完成通過http://localhost:8080/jbpm-console訪問測試。

啓動完成到Mysql後臺查看創建表情況如下:

mysql> show tables;
+--------------------------------+
| Tables_in_jbpm6                |
+--------------------------------+
| Attachment                     |
| BAMTaskSummary                 |
| BooleanExpression              |
| Content                        |
| ContextMappingInfo             |
| CorrelationKeyInfo             |
| CorrelationPropertyInfo        |
| Deadline                       |
| Delegation_delegates           |
| ErrorInfo                      |
| Escalation                     |
| EventTypes                     |
| I18NText                       |
| NodeInstanceLog                |
| Notification                   |
| Notification_BAs               |
| Notification_Recipients        |
| Notification_email_header      |
| OrganizationalEntity           |
| PeopleAssignments_BAs          |
| PeopleAssignments_ExclOwners   |
| PeopleAssignments_PotOwners    |
| PeopleAssignments_Recipients   |
| PeopleAssignments_Stakeholders |
| ProcessInstanceInfo            |
| ProcessInstanceLog             |
| Reassignment                   |
| Reassignment_potentialOwners   |
| RequestInfo                    |
| SessionInfo                    |
| Task                           |
| TaskDef                        |
| TaskEvent                      |
| VariableInstanceLog            |
| WorkItemInfo                   |
| email_header                   |
| task_comment                   |
+--------------------------------+


發佈了113 篇原創文章 · 獲贊 3 · 訪問量 73萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章