JBPM6把默认的H2数据库替换成mySql
最近在做JBPM相关的东西,碰到了很多问题,其中一个就是怎样用mySql替换jbpm默认的H2数据库。现在终于成功了,在此记录一下~
一、参考资料如下:
大家可以参考JBPM6.1的Document,方法还是挺靠谱的~ 只是可能有的地方说的不清晰!地址如下:http://docs.jboss.org/jbpm/v6.1/userguide/jBPMInstaller.html#d0e950
另外还有一个文档也很不错,地址:https://docs.google.com/document/d/1e43OHWPqaQU3-xT2AzqnGNiifjcg60yk2_AIwj2QgiU/edit?pli=1
我基本上就是结合了这两个文档的方法做成功的。
先说一下需要注意的地方:在这个过程中因为要运行 ant clean.demo命令,这个命令会卸载很多东西,包括eclipse。所以如果你的jbpm-installer\workspace 文件夹有重要的工程,一定要先备份一下!!
下面开始说我的详细操作步骤:
1.在mySql中建一个jbpm数据库,创建一个用户 user:jbpm password:jbpm
2.运行ant stop.demo (如果现在运行了ant start.demo)
3.运行ant clean.demo
4.修改build.properties文件(把H2数据库取消掉),改完如下:# default is H2
# H2.version=1.3.170
# db.name=h2
# db.driver.jar.name=${db.name}.jar
# db.driver.download.url=http://repo1.maven.org/maven2/com/h2database/h2/${H2.version}/h2-${H2.version}.jar
#other options are:
#mysql
db.name=mysql
db.driver.module.prefix=com/mysql
db.driver.jar.name=${db.name}-connector-java.jar
db.driver.download.url=https://repository.jboss.org/nexus/service/local/repositories/central/content/mysql/mysql-connector-java/5.1.18/mysql-connector-java-5.1.18.jar
5.修改build.xml
<!-- Start Demo -->
把 <target name="start.demo" depends="start.h2,start.jboss,start.eclipse" />
改成: <target name="start.demo" depends="start.jboss,start.eclipse" />
……………………(中间的不变)…………………………
<!-- Stop Demo -->
把 <target name="stop.demo" depends="stop.h2,stop.jboss" />
改成:<target name="stop.demo" depends="stop.jboss" />
<target name="stop.demo.eclipse" depends="stop.h2" />
6. 修改db/jbpm-persistence-JPA2.xml
把 <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect" />
改成: <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
7.修改根目录下所有以 standalone开头的文件
我这里一共有6个(standalone-as-7.1.1.Final.xml,standalone-eap-6.1.1.xml,standalone-full-as-7.1.1.Final.xml,standalone-full-eap-6.1.1.xml,
standalone-full-wildfly-8.1.0.Final.xml,standalone-wildfly-8.1.0.Final.xml)。
修改前:
<datasource jndi-name="java:jboss/datasources/jbpmDS" enabled="true" use-java-context="true" pool-name="H2DS">
<connection-url>jdbc:h2:tcp://localhost/runtime/jbpm-demo</connection-url>
<driver>h2</driver>
<pool></pool>
<security>
<user-name>sa</user-name>
<password></password>
</security>
</datasource>
<drivers>
<driver name="h2" module="com.h2database.h2">
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
</driver>
</drivers>
修改后:
<datasource jndi-name="java:jboss/datasources/jbpmDS" pool-name="MySQLDS" enabled="true" use-java-context="true">
<connection-url>jdbc:mysql://localhost:3306/jbpm</connection-url> <driver>mysql</driver> <pool></pool> <security> <user-name>jbpm</user-name> <password>jbpm</password> </security> </datasource> <drivers> <driver name="mysql" module="com.mysql"> <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class> </driver> </drivers>
8.修改jbpm-console-6.1.0.Final.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" />
然后重新压缩。
9. 运行 ant install.demo
10. 运行 ant install.db.files
以上就是配置的全部工作。
现在运行 ant start.demo ,然后会看到mySql的jbpm数据库新建了很多表,如下图:

另外,你也可以打开 http://localhost:8080/ ,选择 Administration Console,运行D:\JBPM\jbpm-installer\wildfly-8.1.0.Final\bin\add-user.bat ,注册一个账号登陆到服务器,选择configuration,查看Datasources的配置,显示界面如下,原来的H2数据库已经改成了mySql,说明配置成功了。


浙公网安备 33010602011771号