jbpm5.4安装到mySql

本文详细介绍JBPM流程引擎在MySQL数据库上的部署步骤,包括环境搭建、配置文件修改及数据库初始化等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、 工具下载及准备工作

JDK下载及安装:下载JDK后安装,配置:

计算机-属性-高级系统设置-环境变量-系统变量(也可以添加用户变量,我是在系统变量里添加的)
新建JAVA_HOME,值为JDK的路径。新建classpath,值为%JAVA_HOME%\bin
然后在path中添加;%JAVA_HOME%\bin(注意用分号隔开)
检查是否安装成功,在cmd中输入java,如果出现参数帮助界面,说明成功

安装ANT:

1、下载ant http://ant.apache.org/bindownload.cgi 后解压

2、修改环境变量:添加ANT_HOME值为ant路径,在path中添加:%ANT_HOME%\bin 
3、检查是否安装成功:在cmd中输入命令ant,如果出现 build.xml does not exist 说明安装成功

下载JBPM:

jbpm下载地址 http://sourceforge.net/projects/jbpm/files/,下载后的文件为:jbpm-5.4.0.Final-installer-full.zip

mysq驱动:将mysql驱动jar包拷贝到 jbpm解压目录\db\driver 目录下,并且命名为: mysql-connector-java.jar

二、修改配置文件

在mysql中建立两个数据库jbpm5以及task

  1. mysql> CREATE SCHEMA IF NOT EXISTS jbpm5;  
  2. mysql> CREATE USER 'jbmp5'@'localhost' IDENTIFIED BY 'jbpm5';  
  3. mysql> GRANT ALL PRIVILEGES ON jbpm5.* TO 'jbpm5'@'localhost';  

 

  1. mysql> CREATE SCHEMA IF NOT EXISTS task;  
  2. mysql> CREATE USER 'task'@'localhost' IDENTIFIED BY 'task';  
  3. mysql> GRANT ALL PRIVILEGES ON task.* TO 'task'@'localhost';  

build.properties

Change

  1. # data base related properties  
  2. db.driver.jar=${install.home}/db/driver/${db.driver.jar.name}  
  3. db.driver.module.dir=${jboss.home}/modules/${db.driver.module.prefix}/main/  
  4. # default is H2  
  5. db.name=h2  
  6. db.driver.jar.name=${db.name}.jar  
  7. db.driver.download.url=http://repo1.maven.org/maven2/com/h2database/h2/${H2.version}/h2-${H2.version}.jar  
  8. #other options are mysql  
  9. #  db.name=mysql  
  10. #  db.driver.module.prefix=com/mysql  
  11. #  db.driver.jar.name=${db.name}-connector-java.jar  
  12. #  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  
  13. #postresql  
  14. #  db.name=postresql  
  15. #  db.driver.module.prefix=org/postgresql  
  16. #  db.driver.jar.name=${db.name}-jdbc.jar  
  17. #  db.driver.download.url=https://repository.jboss.org/nexus/content/repositories/thirdparty-uploads/postgresql/postgresql/9.1-902.jdbc4/postgresql-9.1-902.jdbc4.jar  

To

  1. # data base related properties  
  2. db.driver.jar=${install.home}/db/driver/${db.driver.jar.name}  
  3. db.driver.module.dir=${jboss.home}/modules/${db.driver.module.prefix}/main/  
  4. #  default is H2  
  5. #  db.name=h2  
  6. #  db.driver.jar.name=${db.name}.jar  
  7. #  db.driver.download.url=http://repo1.maven.org/maven2/com/h2database/h2/${H2.version}/h2-${H2.version}.jar  
  8. #other options are mysql  
  9.   db.name=mysql  
  10.   db.driver.module.prefix=com/mysql  
  11.   db.driver.jar.name=${db.name}-connector-java.jar  
  12.   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  
  13. #postresql  
  14. #  db.name=postresql  
  15. #  db.driver.module.prefix=org/postgresql  
  16. #  db.driver.jar.name=${db.name}-jdbc.jar  
  17. #  db.driver.download.url=https://repository.jboss.org/nexus/content/repositories/thirdparty-uploads/postgresq

db/jbpm-persistence-JPA2.xml

Change

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

To

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

db/task-persistence-JPA2.xml

Change

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

To

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

standalone.xml

Change

<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>

To

<datasources>
	<datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
	   <connection-url>jdbc:mysql://localhost:3306/jbpm5</connection-url> 
		 <driver>mysql</driver> 
		<security>
			<user-name>jbpm5</user-name>
			<password>jbpm5</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>

task-service/resources/META-INF/persistence.xml

Change

  1. <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>  
  2. <property name="hibernate.connection.driver_class" value="org.h2.Driver"/>  
  3. <property name="hibernate.connection.url" value="jdbc:h2:tcp://localhost/runtime/task" />  
  4. <property name="hibernate.connection.username" value="sa"/>  
  5. <property name="hibernate.connection.password" value=""/>  

To

  1. <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>  
  2. <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>  
  3. <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/task" />  
  4. <property name="hibernate.connection.username" value="task"/>  
  5. <property name="hibernate.connection.password" value="task"/>  

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

< resources >   
  1.      <resource-root path="mysql-connector-java.jar"/>  
  2. </resources> 
修改/lib/jbpm-human-task-war-5.4.0.Final-EE6.war/WEB-INF/classes/META-INF/persistence.xml文件中的hibernate.dialect
[xml]  view plain copy
  1. <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>  
修改/lib/jbpm-gwt-console-server-5.4.0.Final-EE6.war/WEB-INF/classes/META-INF/persistence.xml文件中的hibernate.dialect和hibernate.hbm2ddl.auto。
[xml]  view plain copy
  1. <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />  
  2.   
  3. <property name="hibernate.hbm2ddl.auto" value="create" /> 
修改build.xml
[xml]  view plain copy
  1. 在  
  2.  <java classname="org.jbpm.DemoTaskService" fork="true">    
  3.       <classpath>  
  4.         <pathelement path="${install.home}/task-service/target"/>  
  5.         <path refid="classpath.human.task" />  
  6.       </classpath>  
  7.     </java>  
  8.   
  9. 中加  
  10. <sysproperty key="jbpm.user.group.mapping" value="file:///F:/PDF/jbpm/jbpm-installer/jboss-as-7.1.1.Final/standalone/configuration/roles.properties"/>   
  11. 变为  
  12.  <java classname="org.jbpm.DemoTaskService" fork="true">    
  13.       <sysproperty key="jbpm.user.group.mapping" value="file:///F:/PDF/jbpm/jbpm-installer/jboss-as-7.1.1.Final/standalone/configuration/roles.properties"/>   
  14.       <classpath>  
  15.         <pathelement path="${install.home}/task-service/target"/>  
  16.         <path refid="classpath.human.task" />  
  17.       </classpath>  
  18.     </java>  
  19. 根据你的实际目录修改  
3、安装
如果以前在非mysql中已经安装过jbpm,可以运行以下脚本先清除安装

ant clean.demo

安装:

  1. ant install.demo  
  2. 或  
  3. ant install.demo.noeclipse
执行ant install.demo会下载eclipse及安装插件,建议使用 install.demo.noeclipse,如果安装eclipse插件后面章节有详细描述

执行  ant start.human.task  

创建task数据库表 ,出现task service running后,可以按Ctrl+C,再按退出创建。这时查看task数据库可以看到创建了很多表。

执行  ant start.jboss 

创建jbpm数据库,启动jboss

测试是否启动成功,可以用浏览器打开:http://localhost:8080/jbpm-console,用"krisv" / "krisv"。

并且查看jbpm5数据库可以看到创建了很多表;如果没有表,证明还没有运行成功,可以查看jbpm安装目录\jboss-as-7.1.1.Final\standalone\log

下的server.log查看错误日志。有时可能因为mysql用户权限的问题,可以修改standalone.xml,改成使用root用户后,重新install.demo.noeclipse一次

停止脚本: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。

<property name = "hibernate.hbm2ddl.auto" value = "update" />

4、安装eclipse插件

在jbpm的根目录下找到build.properties,打开后修改eclipse.home ,改为你的eclipse路径(注意是/而不是\)

如eclipse.home=d:/eclipse

然后执行

ant install.droolsjbpm-eclipse.into.eclipse

也可以不输入命令:进入到jbpmlib文件夹,把org.drools.updatesite-5.3.1.Final-assembly.zip包内的pluginsfeatures复制到Eclipse目录下即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值