原文地址:http://blog.chinaunix.net/u/21752/showart_2097331.html
1.軟件清單
jdk1.6
jbpm4.2
tomcat6
oracle9i
ant1.7
eclipse-jee-galileo-win32
2.配置JDK1.6
在系統(tǒng)路徑上添加
JAVA_HOME=c:\java\jdk16(我的JDK1.6安裝目錄)
CLASS_PATH=.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\jre\lib\rt.jar;
3.配置ANT
在系統(tǒng)路徑上添加
ANT_HOME=c:\java\ant
path=%ANT_HOME%\bin
4.配置數(shù)據(jù)庫(使用Oracle,默認(rèn)使用的是hsqldb)
(1)將class12.jar復(fù)制到j(luò)bpm-4.2\lib目錄下,否則找不到驅(qū)動(dòng)
(2)進(jìn)入c:\jbpm-4.2\install\jdbc目錄修改文件oracle.properties文件,設(shè)置你自己的oracle數(shù)據(jù)庫名、用戶名和密碼
注意jbpm-4.2的根目錄名稱不能更改,否則無法運(yùn)行ANT
(3)修改c:\jbpm-4.2\install\build.xml,修改為<property name="database" value="oracle" /> <!-- {hsqldb | mysql | oracle | postgresql} -->
(4)進(jìn)入c:\jbpm-4.2\install, 運(yùn)行 ant create.jbpm.schema,將創(chuàng)建數(shù)據(jù)庫腳本并在指定數(shù)據(jù)庫中創(chuàng)建表
4.配置Tomcat
(1)復(fù)制apache-tomcat-6.0.20.zip文件到c:\jbpm-4.2\install\downloads目錄中
(2)進(jìn)入c:\jbpm-4.2\install,運(yùn)行ant install.tomcat.
完成后,在c:\jbpm-4.2目錄下生成一個(gè)tomcat目錄
5.配置eclipse
(1)復(fù)制eclipse-jee-galileo-win32.zip文件到c:\jbpm-4.2\install\downloads目錄中。
注意:eclipse的名稱必須是eclipse-jee-galileo-win32
(2)進(jìn)入c:\jbpm-4.2\install,運(yùn)行ant install.eclipse,運(yùn)行時(shí)間較長
完成后,在c:\jbpm-4.2目錄下生成一個(gè)eclipse目錄
注意:如果沒有不用ant配置eclipse,安裝下面的GPD時(shí),提示出錯(cuò),點(diǎn)擊確定后,GPD依然可以使用,不知道為什么。
6.配置流程設(shè)計(jì)器GPD
啟動(dòng)eclipse,在Eclipse里添加更新站點(diǎn)的方法:
幫助 --> 安裝新軟件...
點(diǎn)擊 添加...
在 添加站點(diǎn) 對(duì)話框中,單擊 壓縮包...
找到 install/src/gpd/jbpm-gpd-site.zip 并點(diǎn)擊 '打開'
點(diǎn)擊 確定 在 添加站點(diǎn) 對(duì)話框中,會(huì)返回到 '安裝'對(duì)話框
選擇出現(xiàn)的 jPDL 4 GPD 更新站點(diǎn),全部選中
點(diǎn)擊 下一步.. 然后點(diǎn)擊 完成
接受協(xié)議
當(dāng)它詢問的時(shí)候重啟eclipse
7.配置elcipse工程
配置jBPM:
點(diǎn)擊 Window --> Preferences
選擇 JBoss jBPM --> jBPM-4.2 --> Runtime Locations
點(diǎn)擊 Add...
在 Add Location 對(duì)話框中,輸入一個(gè)名字,比如 jBPM-4.2 然后點(diǎn)擊 Search...
在 Browse For Folder 對(duì)話框中,選擇你的jbpm-4.2根目錄,然后點(diǎn)擊 OK
點(diǎn)擊 OK 在 Add Location 對(duì)話框中
8.定義一個(gè)用戶庫
用戶庫用來放置jBPM的庫文件。 如果你創(chuàng)建一個(gè)新工程, 只需要將用戶庫全部添加到build path
點(diǎn)擊窗口 --> 屬性(Windows --> Preferences)
選擇Java --> 創(chuàng)建路徑 --> 用戶類庫(Java --> Build Path --> User Libraries)
點(diǎn)擊新建(New)
類型名字jBPM Libraries
點(diǎn)擊添加JARs(Add JARs...)
找到j(luò)BPM安裝程序下的lib目錄
選擇lib下的所有jar文件并點(diǎn)擊打開(Open)
選擇jBPM Libraries作為入口
重新點(diǎn)擊添加JARs(Add JARs)
在jBPM的安裝程序的根目錄下選擇jbpm.jar文件
點(diǎn)擊打開(Open)
在jbpm.jar下選擇源碼附件(Source attachment)作為入口
點(diǎn)擊編輯(Edit)
在源碼附件的配置(Source Attachment Configuration)對(duì)話框中,點(diǎn)擊目錄(External Folder...)
找到j(luò)BPM安裝程序下的src目錄
點(diǎn)擊選擇(Choose)
點(diǎn)擊兩次'確定'(Ok)會(huì)關(guān)閉所有對(duì)話框
9.創(chuàng)建一個(gè)jbpm demo
創(chuàng)建一個(gè)例子,并將工作流程定義保存到數(shù)據(jù)庫中
(1)創(chuàng)建一個(gè)java Project,起名“ myjbpm ”,然后就可以單擊“完成”了
(2)將c:\jbpm-4.2\examples\src中的所有配置文件復(fù)制到myjbpm工程中的根目錄下
jbpm.cfg.xml
jbpm.hibernate.cfg.xml
jbpm.mail.properties
jbpm.mail.templates.examples.xml
logging.properties
(3)修改jbpm.hibernate.cfg.xml
hibernate.cfg.xml 的默認(rèn)設(shè)置是用 HSQL ,這是一個(gè)內(nèi)存數(shù)據(jù)庫,這種內(nèi)存數(shù)據(jù)庫用來代替項(xiàng)目實(shí)際所用的數(shù)據(jù)庫來做單元測(cè)試挺不錯(cuò)的。不過我們這里是要試試用 MySQL 、 Oracle
MySQL 的更改如下:
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/jbpm</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123456</property>
Oracle 的更改如下:
<property name="hibernate.dialect">org.hibernate.dialect.OracleDialect</property>
<property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="hibernate.connection.url">jdbc:oracle:thin:@192.168.123.10:1521:wxxrDB</property>
<property name="hibernate.connection.username">xiong</property>
<property name="hibernate.connection.password">xiong</property>
(4)定義流程
創(chuàng)建流程的定義文件是 pd.jpdl.xml,將下面代碼復(fù)制到文件中
------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<process name="pd" xmlns="http://jbpm.org/4.0/jpdl">
<start name="start1" g="207,62,48,48">
<transition name="to state1" to="state1" g="-59,-17"/>
</start>
<end name="end1" g="208,293,48,48"/>
<state name="state1" g="185,155,92,52">
<transition name="to end1" to="end1" g="-47,-17"/>
</state>
</process>
------------------------------------------------------------------------------------------
(5)布置jbpm
import junit.framework.TestCase;
import org.jbpm.api.Configuration;
import org.jbpm.api.ExecutionService;
import org.jbpm.api.HistoryService;
import org.jbpm.api.ManagementService;
import org.jbpm.api.ProcessEngine;
import org.jbpm.api.RepositoryService;
import org.jbpm.api.TaskService;
public class ServicesTest extends TestCase {
public void testObtainServicesAndDeployProcess() {
Configuration configuration = new Configuration();
ProcessEngine processEngine = configuration.buildProcessEngine();
RepositoryService repositoryService = processEngine.getRepositoryService();
ExecutionService executionService = processEngine.getExecutionService();
TaskService taskService = processEngine.getTaskService();
HistoryService historyService = processEngine.getHistoryService();
ManagementService managementService = processEngine.getManagementService();
// 開始部署一個(gè)新的流程文件
String deploymentId = repositoryService.createDeployment().addResourceFromClasspath("pd.jpdl.xml").deploy();
}
}
無論是 MySQL 還是 Oracle ,
jbpm4_deployment表,你會(huì)發(fā)現(xiàn)多了一條記錄
jbpm4_deployprop表會(huì)多了三條記錄,對(duì)應(yīng)id,key,version
jbpm4_lob 表會(huì)多了一條記錄,保存流程圖
參考文獻(xiàn):
1.bestyanghui. JBPM4.1配置實(shí)用過程. http://blog.csdn.net/bestyanghui/archive/2009/10/12/4656914.aspx
2.熊熊之家. jbpm4開發(fā)步驟. http://hi.baidu.com/freshman0502/blog/item/092bab19ea68a873dab4bd91.html