Jbpm7.5 安装 + mysql

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/tyn243222791/article/details/79033555

安装了两天终于好了!!!
安装的问题主要是在使用mysql数据库上,按照官网上的一步一步来,就是连不上数据库,今天终于连上了,现在记录下。

基本步骤跟官网上的一样官网文档
首先下载jbpm,我下载的是jbpm7.5。官网要求Java版本1.8以上,Ant版本1.9以上。我的系统是win7。
准备好环境后,解压jbpm到当前文件,使用命令行在文件下执行命令

ant install.demo

执行该命令后会下载WildFly服务器以及进行相关配置和发布操作。而且会下载一个eclipse并安装相关的插件。下载eclipse的过程特别长,所以还是我们自己手动下载比较好,系统下载的eclipse是:eclipse-java-neon-2,我下载的是eclipse-jee-neon-2,将下载的eclipse的zip包放在xxx\jbpm-installer-7.5.0.Final\lib下,并修改build.xml文件,改文件在xxx\jbpm-installer-7.5.0.Final下。在改文件中,我们可以找到下载eclipse的部分:

<target name="download.eclipse" depends="download.eclipse.check" if="eclipse.not.available">
    <echo message="Getting Eclipse ..." />
    <mkdir dir="${install.home}/lib"/>
    <get src="http://download.eclipse.org/technology/epp/downloads/release/neon/2/eclipse-jee-neon-2-${download.type}.${download.extension}"
         dest="${install.home}/lib/eclipse-jee-neon-2-${download.type}.${download.extension}"  />
  </target>

我们替换这个文件中的所有eclipse-java-neon-2为eclipse-jee-neon-2(包括下载、检查是否存在等地方)。

替换之后运行

ant install.demo

过程大概5 -30 mins 不等,主要花在给eclipse安装插件上。因为自己安装插件也得花很多时间,我觉得不如自动安装,所以没有用install.demo.noeclipse命令。
命令执行成功之后,执行

ant start.demo

启动成功后就可以登陆 http://localhost:8080/jbpm-console

以上操作使用的数据库是默认的H2,现在将数据库修改为MySQL。
我的MySQL版本是5.7,创建数据库jbpm,用户名密码都是jbpm。权限要给:

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

现在开始修改jbpm中的数据库配置。
xxx\jbpm-installer-7.5.0.Final\build.properties

# H2.version=1.3.168
# db.name=h2
# db.driver.jar.name=h2-${H2.version}.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=mysql-connector-java-5.1.42.jar
db.driver.download.url=https://repository.jboss.org/nexus/service/local/repositories/central/content/mysql/mysql-connector-java/5.1.42/mysql-connector-java-5.1.42.jar
org.kie.server.persistence.dialect=org.hibernate.dialect.MySQL5Dialect

这里就是将H2部分注释掉,配置使用MySQL,需要注意的是jar引用的地方,配置自己需要的jar。这里关于方言的选择官网原文是:

You might want to update the db driver jar name and download url to whatever version of the jar matches your installation. Look to also update the dialect to what matches your installation if needed (for example change to MySQL5Dialect for MySQL 5.x specific features).
大概的意思是:
你可以修改任何你需要的,只要能和你安装的可以匹配就行。
括号中的话意思:
比如说,为了MySQL5.x的某些特性而使用MySQL5Dialect
那是不是不用也可以呢?我还没有尝试,试过的同学麻烦告诉我~。

xxx\jbpm-installer-7.5.0.Final\db\jbpm-persistence-JPA2.xml

<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect" />

修改为

<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" />

这里设置了hibernate方言。

xxx\jbpm-installer-7.5.0.Final\db\standalone-full-wildfly-10.1.0.Final.xml

<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:tcp://localhost/~/jbpm-db;MVCC=TRUE</connection-url>
       <driver>h2</driver>
       <security>
           <user-name>sa</user-name>
       </security>
</datasource>

修改为

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

在下面的块中添加

<driver name="mysql" module="com.mysql">
    <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
</driver>

这里配置了数据库相关信息,如果你设置的数据库地址用户名之类的跟我不一样,记得这里要修改。

xxx\jbpm-installer-7.5.0.Final\db\mysql_module.xml

<module xmlns="urn:jboss:module:1.0" name="com.mysql">
   <resources>
     <resource-root path="mysql-connector-java-5.1.42.jar"/>
   </resources>
   <dependencies>
      <module name="javax.api"/>
      <module name="javax.transaction.api"/>
    </dependencies>
</module>

修改该文件中的jar,保证跟你之前设置的一样。

至此,已经全部完成官网中的配置,之后停止服务(如果你之前没停止的话),然后clean下重新安装。

ant stop.demo
ant clean.demo
ant install.demo
ant start.demo

按照官网的说法,start之后就会使用刚刚配置的MySQL,但是我试了很多次都没有成功(如果你成功了,记得告诉我~.~)

今天解决了这个问题,问题答案
按照文中的解答修改
xxx\jbpm-installer-7.5.0.Final\build.xml

<!-- Start JBoss AS -->
  <target name="start.jboss">
    <property name="jboss.full.path.win" location="${jboss.home}/bin/standalone.bat" />
    <exec executable="${jboss.full.path.win}" spawn="yes" osfamily="windows">
      <env key="JAVA_OPTS" value="-Xms512m -Xmx1024m" />
      <arg value="-b" />
      <arg value="${jboss.bind.address}" />
      <arg value="--server-config=standalone-full.xml" />
      <arg value="-Dorg.kie.demo=false" />
      <arg value="-Dorg.kie.example=false" />
      <arg value="-Dorg.kie.server.id=default-kieserver" />
      <arg value="-Dorg.kie.server.persistence.ds=java:jboss/datasources/jbpmDS" />
      <arg value="-Dorg.kie.server.controller=http://localhost:8080/jbpm-console/rest/controller" />
      <arg value="-Dorg.kie.server.location=http://localhost:8080/kie-server/services/rest/server" />
      <arg value="-Dorg.jbpm.casemgmt.showcase.url=/jbpm-casemgmt"/>
      <arg value="-Dorg.kie.server.persistence.dialect=org.hibernate.dialect.MySQL5Dialect" />

修改的部分是上面代码的最后一行,将-Dorg.kie.server.persistence.dialect设置为之前设置的方言。

现在再执行一遍

ant stop.demo
ant clean.demo
ant install.demo
ant start.demo

现在你会看到数据库中创建了很多表
这里写图片描述

数据库修改成功!!!

猜你喜欢

转载自blog.csdn.net/tyn243222791/article/details/79033555
今日推荐