說明:jBPM-2.0 預設所使用的資料庫系統為 "HyperSonic",主要作為開發測試用,並不適合在企業的環境下使用。jBPM2 是以 "Hibernate" 作為 O-R Mapping 的 Frameowork 機制,可以支援多種資料庫系統。底下的步驟說明如何改成 MySQL 資料庫。
環境:
- jBoss 3.2.5 above
- jBPM 2.0
- MYSQL 4.0.x above
- J2SE SDK v 1.4.2_03 above
- Apache Ant version 1.6.1 above
- Eclipse 3.0.1
步驟:
- Check-out or download jbpm source-code from jBPM2 OpenSource Project
- 打開 Eclipse,新增一個空白的Java Projec (ex. jbpm2)
- 將jbpm的原始碼Copy至Eclipse的Workspace目錄的適當位置
- 更改jbpm下的build.property,設為自己的位置
- 更改jbpm的Project Property,將Ant_Home以及JBoss_Home設成自己開發環境的絕對路徑
- 將My Sql的JDBC Driver:mysql-connector-java-3.0.14-production-bin.jar複製到JBPM的Library(%jbpm.home%\lib)中
- 更改build.xml,在”configure.jboss.3.2.6+”中加入一段:
- 新增一個Library:mysql-connector-java-3.0.14-production-bin.jar至jbpm的Project Property中
- 在MySql中新增一個Database,jbpm2。以儲放jbpm所需的Table,另新增 mysql 帳號管理 jbpm2 的資料庫。(username/password: jbpm2/jbpm2)
- 更改core/src/java/org/jbpm/persistence/hibernate/HibernateSession.java中的latestDefinitionQuery Property的程式碼為
"select d from d in class " + "org.jbpm.model.definition.impl.DefinitionImpl " + "where d.name = ? order by d.version desc";
- 更改web/src/jbpm.war/WEB-INF/classes/ jbpm.properties如下:
- Run Ant,Build並且執行configure.jboss.3.2.6+
- 啟動jBpm
(start the jbpm configuration of jboss with ‘%JBOSS_HOME%/bin/run.bat -c jbpm’) - Run web\build.xml,執行deploy及deploy.process.archives
in directory ${jbpm.home}/web run ‘ant deploy’.
in directory ${jbpm.home}/web run ‘ant deploy.process.archives’. - 查看MySQL Database即會發覺在Database中已經有JBPM相關的Table在裡面 (總共有 16 個Tables,下圖後兩個 Table 為自行開發時所新增的)
- Run
http://localhost:8080/jbpm
出現 jBPM 的Demo Workflow 的登入畫面




### HIBERNATE configs ######################################### hibernate.dialect=net.sf.hibernate.dialect.MySQLDialect hibernate.connection.driver_class=com.mysql.jdbc.Driver hibernate.connection.username=root hibernate.connection.password= hibernate.connection.url=jdbc:mysql://localhost/jbpm2?useUnicode=true&characterEncoding=utf-8 hibernate.c3p0.min_size=2 hibernate.c3p0.max_size=2 hibernate.c3p0.timeout=120 hibernate.c3p0.max_statements=50
P.S. 中文支援問題
對于MySQL,hibernate相應的driver設定成︰jdbc:mysql://localhost/jbpm2?useUnicode=true&characterEncoding=utf-8


訂閱 RSS (by FeedBurner)
訂閱 RSS (by Wordpress)![[克莉絲汀] 水晶串珠手機吊飾-天使](/wp-content/medias/ads/opus/DSC02907.jpg)
