jBPM5.4.0:使用MySql数据库

需要修改的文件为:

  • build.properties
  • build.xml
  • db/jbpm-persistence-JPA2.xml
  • db/task-persistence-JPA2.xml
  • standalone.xml
  • task-service/resources/META-INF/persistence.xml
  • lib/jbpm-gwt-console-server-5.4.0.Final-EE6.war/WEB-INF/classes/META-INF/persistence.xml
  • lib/jbpm-human-task-war-5.4.0.Final-EE6.war/WEB-INF/classes/META-INF/persistence.xml

     

    1.下载MySql驱动放在安装目录/db/drivers/下。这里将名字修改为mysql-connector-java.jar。

    在MySql数据库中创建task和jbpm数据库。

    mysql> CREATE DATEBASE IF NOT EXISTS jbpm5;
    mysql> CREATE USER 'jbmp5'@'localhost' IDENTIFIED BY 'jbpm5';
    mysql> GRANT ALL PRIVILEGES ON jbpm5.* TO 'jbpm5'@'localhost';
    
    mysql> CREATE DATEBASE IF NOT EXISTS task;
    mysql> CREATE USER 'task'@'localhost' IDENTIFIED BY 'task';
    mysql> GRANT ALL PRIVILEGES ON task.* TO 'task'@'localhost;
    

    2.修改db/jbpm-persistence-JPA2.xml和task-persistence-JPA2.xml,修改方式类似

    Xml代码
    将
    <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
    或
    <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/>
    修改为
    <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />

    附:

    Hibernate SQL Dialects (hibernate.dialect)

    RDBMS Dialect
    DB2org.hibernate.dialect.DB2Dialect
    DB2 AS/400org.hibernate.dialect.DB2400Dialect
    DB2 OS390org.hibernate.dialect.DB2390Dialect
    PostgreSQLorg.hibernate.dialect.PostgreSQLDialect
    MySQL

    org.hibernate.dialect.MySQLDialect

    org.hibernate.dialect.MySQL5Dialect

    MySQL with InnoDBorg.hibernate.dialect.MySQLInnoDBDialect
    MySQL with MyISAMorg.hibernate.dialect.MySQLMyISAMDialect
    Oracle (any version)org.hibernate.dialect.OracleDialect
    Oracle 9iorg.hibernate.dialect.Oracle9iDialect
    Oracle 10gorg.hibernate.dialect.Oracle10gDialect
    Sybaseorg.hibernate.dialect.SybaseDialect
    Sybase Anywhereorg.hibernate.dialect.SybaseAnywhereDialect
    Microsoft SQL Serverorg.hibernate.dialect.SQLServerDialect
    SAP DBorg.hibernate.dialect.SAPDBDialect
    Informixorg.hibernate.dialect.InformixDialect
    HypersonicSQLorg.hibernate.dialect.HSQLDialect
    Ingresorg.hibernate.dialect.IngresDialect
    Progressorg.hibernate.dialect.ProgressDialect
    Mckoi SQLorg.hibernate.dialect.MckoiDialect
    Interbaseorg.hibernate.dialect.InterbaseDialect
    Pointbaseorg.hibernate.dialect.PointbaseDialect
    FrontBaseorg.hibernate.dialect.FrontbaseDialect
    Firebirdorg.hibernate.dialect.FirebirdDialect

    3.修改task-service/resources/META-INF/persistence.xml
    Xml代码
    将
    <properties>
          <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
          <property name="hibernate.connection.driver_class" value="org.h2.Driver"/>
          <property name="hibernate.connection.url" value="jdbc:h2:tcp://localhost/runtime/task" />
          <property name="hibernate.connection.username" value="sa"/>
          <property name="hibernate.connection.password" value=""/>
          <property name="hibernate.connection.autocommit" value="false" />
          <property name="hibernate.max_fetch_depth" value="3"/>
          <property name="hibernate.hbm2ddl.auto" value="create" />
          <property name="hibernate.show_sql" value="false" />
        </properties>
    修改为
    <properties>
          <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
          <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
          <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/task" />
          <property name="hibernate.connection.username" value="task"/>
          <property name="hibernate.connection.password" value="task"/>
          <property name="hibernate.connection.autocommit" value="false" />
          <property name="hibernate.max_fetch_depth" value="3"/>
          <property name="hibernate.hbm2ddl.auto" value="create" />
          <property name="hibernate.show_sql" value="false" />
        </properties>

    4.修改db/mysql_module.xml中jar的名称为mysql.jar,与db/drivers中的jar名称对应。

    Xml代码
    <resources>
         <resource-root path="mysql-connector-java.jar"/>
    </resources>

    5.使用的是Jboss7,修改安装目录下的standalone.xml
    Xml代码
    将
    <subsystem xmlns="urn:jboss:domain:datasources:1.0">
                <datasources>
                    <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
                        <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1</connection-url>
                        <driver>h2</driver>
                        <security>
                            <user-name>sa</user-name>
                            <password>sa</password>
                        </security>
                    </datasource>
                    <datasource jta="true" jndi-name="java:jboss/datasources/jbpmDS" pool-name="H2DS" enabled="true" use-java-context="true" use-ccm="true">
                        <connection-url>jdbc:h2:~/jbpm</connection-url>
                        <driver>h2</driver>
                        <pool>
                            <min-pool-size>1</min-pool-size>
                            <max-pool-size>4</max-pool-size>
                            <prefill>false</prefill>
                            <use-strict-min>false</use-strict-min>
                            <flush-strategy>FailingConnectionOnly</flush-strategy>
                        </pool>
                        <security>
                            <user-name>sa</user-name>
                        </security>
                        <validation>
                            <check-valid-connection-sql>SELECT 1</check-valid-connection-sql>
                            <validate-on-match>false</validate-on-match>
                            <background-validation>false</background-validation>
                        </validation>
                    </datasource>
                    <drivers>
                        <driver name="h2" module="com.h2database.h2">
                            <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
                        </driver>
                    </drivers>
                </datasources>
            </subsystem>
    修改为
    <subsystem xmlns="urn:jboss:domain:datasources:1.0">
                <datasources>
                    <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
                        <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1</connection-url>
                        <driver>h2</driver>
                        <security>
                            <user-name>sa</user-name>
                            <password>sa</password>
                        </security>
                    </datasource>
                    <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/jbpm5</connection-url>
                        <driver>mysql</driver>
                        <pool>
                            <min-pool-size>1</min-pool-size>
                            <max-pool-size>4</max-pool-size>
                            <prefill>false</prefill>
                            <use-strict-min>false</use-strict-min>
                            <flush-strategy>FailingConnectionOnly</flush-strategy>
                        </pool>
                        <security>
                            <user-name>jbpm5</user-name>
    			<password>jbpm5</password>
                        </security>
                        <validation>
                            <check-valid-connection-sql>SELECT 1</check-valid-connection-sql>
                            <validate-on-match>false</validate-on-match>
                            <background-validation>false</background-validation>
                        </validation>
                    </datasource>
                    <drivers>
                        <driver name="mysql" module="com.mysql">
                            <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
                        </driver>
                    </drivers>
                </datasources>
            </subsystem>
    6.修改安装目录下的build.properties,将数据库的配置从H2,改为MySql
    # default is H2
    #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}.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
    7.修改/lib/jbpm-human-task-war-5.4.0.Final-EE6.war/WEB-INF/classes/META-INF/persistence.xml文件中的 hibernate.dialect
    Xml代码
    <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
    8.修改/lib/jbpm-gwt-console-server-5.4.0.Final-EE6.war/ WEB-INF/classes/META-INF/persistence.xml 文件中的 hibernate.dialect和 hibernate.hbm2ddl.auto。
    Xml代码
    <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
    
    <property name="hibernate.hbm2ddl.auto" value="create" />
    9.修改build.xml
    Xml代码
    在
     <java classname="org.jbpm.DemoTaskService" fork="true">  
          <classpath>
            <pathelement path="${install.home}/task-service/target"/>
            <path refid="classpath.human.task" />
          </classpath>
        </java>
    
    中加
    <sysproperty key="jbpm.user.group.mapping" value="file:///F:/PDF/jbpm/jbpm-installer/jboss-as-7.1.1.Final/standalone/configuration/roles.properties"/> 
    变为
     <java classname="org.jbpm.DemoTaskService" fork="true">  
    	  <sysproperty key="jbpm.user.group.mapping" value="file:///F:/PDF/jbpm/jbpm-installer/jboss-as-7.1.1.Final/standalone/configuration/roles.properties"/> 
          <classpath>
            <pathelement path="${install.home}/task-service/target"/>
            <path refid="classpath.human.task" />
          </classpath>
        </java>
    根据你的实际目录修改
     
    <!-- Start Demo -->
    <target name="start.demo" depends="start.h2,start.jboss,start.eclipse" />
    
    <!-- Start Demo (Eclipse) -->
    <target name="start.demo.eclipse" depends="start.h2,start.eclipse" />
    
    <!-- Start Demo (No Eclipse)-->
    <target name="start.demo.noeclipse" depends="start.h2,start.jboss" />
    
    <!-- Stop Demo -->
    <target name="stop.demo" depends="stop.h2,stop.jboss" />
    

    中加
    <!-- Start Demo -->
    <target name="start.demo" depends="start.h2,start.jboss,start.eclipse" />
    
    <!-- Start Demo (DB) -->
    <target name="start.demo.db" depends="start.jboss, start.eclipse" />
    
    <!-- Start Demo (DB, No Eclipse) -->
    <target name="start.demo.db.noeclipse" depends="start.jboss" />
    
    <!-- Start Demo (Eclipse) -->
    <target name="start.demo.eclipse" depends="start.h2,start.eclipse" />
    
    <!-- Start Demo (No Eclipse)-->
    <target name="start.demo.noeclipse" depends="start.h2,start.jboss" />
    
    <!-- Stop Demo -->
    <target name="stop.demo" depends="stop.h2,stop.jboss" />
    
    <!-- Stop Demo (DB)-->
    <target name="stop.demo.db" depends="stop.jboss" />
    
    
    10.在CMD中到你的安装目录下,运行
    Java代码
    ant install.demo
    或
    ant install.demo.noeclipse
    11.运行
    Java代码
    ant start.human.task
    创建task数据库表 ,创建完成后按Ctrl+C,再按退出创建。
    12.运行
    Java代码
    ant start.jboss
    启动,会创建jbpm数据库表。
    启动成功后再运行
    Java代码
    ant stop.jboss
    成功关闭后修改安装目录下\jboss-as-7.1.1.Final\standalone\deployments\jbpm-gwt-console-server.war\ WEB-INF/classes/META-INF/persistence.xml 文件中的 hibernate.hbm2ddl.auto。
    Xml代码
    1. <propertyname="hibernate.hbm2ddl.auto"value="update"/>

    另一种配置mysql的方法见 https://community.jboss.org/wiki/SetUpJBPM54FinalInstallerToUseMySQL-OrHowToRunSection37OfTheUserGuide

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 16
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值