jbpm5.4安裝到mySql

一、 工具下載及準備工作

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
  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。
  1. <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />  
  2.   
  3. <property name="hibernate.hbm2ddl.auto" value="create" /> 
修改build.xml
  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。

<propertyname="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目錄下即可

發佈了54 篇原創文章 · 獲贊 4 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章