概述
通過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 |
+--------------------------------+