繼續完成上一篇的安裝.
4.在eclipse上安裝流程設計器(GPD),有兩個安裝方法。
4.1.使用Eclipse軟件升級(Software Update)機制安裝設計器
在gpd目錄下有一個gpd/jbpm-gpd-site.zip文件, 這就是更新站點(archived update site)的 壓縮包。
在Eclipse里添加更新站點的方法:
幫助 --> 安裝新軟件...
點擊 添加...
在 添加站點 對話框中,單擊 壓縮包...
找到 gpd/jbpm-gpd-site.zip 并點擊 '打開'
點擊 確定 在 添加站點 對話框中,會返回到 '安裝'對話框
選擇出現的 jPDL 4 GPD 更新站點
點擊 下一步.. 然后點擊 完成
接受協議
當它詢問的時候重啟eclipse
重新啟動Eclipse,直接按Ctrl+N或File→New→other,你可以在對話框中看到有JBoss jBPM下有jBPM 4 Process Definition選項
4.2.自己去官網下載設計器
地址:http://sourceforge.net/projects/jbpm/files/在里面選擇jBPM Process Designer的最新版本下載(不同的jpd版本要與相應的Eclipse版本對應,不然會出現一些小問題)。
下載回來后,解壓出來后把里面features,plugins里的包放進Eclipse相應文件夾features,plugins里面。
重新啟動Eclipse,直接按Ctrl+N或File→New→other,你可以在對話框中看到有JBoss jBPM下有jBPM 4 Process Definition選項
不過截止今天2009年12月3日,用Eclipse Update得到的GPD版本為jpdl4_1.2.0,而網上下載的是jpdl4_0.0.0,GPD節點的屬性與用戶指南文檔的介紹也不一致。
5.定義jBPM用戶庫
5.1在工作空間定義一個用戶庫, 用來放置jBPM的庫文件。
點擊窗口 --> 屬性(Windows --> Preferences)
選擇Java --> 創建路徑 --> 用戶類庫(Java --> Build Path --> User Libraries)
點擊新建(New)
類型名字jBPM Libraries
點擊添加JARs(Add JARs...)
找到jBPM安裝程序下的lib目錄
選擇lib下的所有jar文件并點擊打開(Open)
選擇jBPM Libraries作為入口
重新點擊添加JARs(Add JARs)
在jBPM的安裝程序的根目錄下選擇jbpm.jar文件
點擊打開(Open)
在jbpm.jar下選擇源碼附件(Source attachment)作為入口
點擊編輯(Edit)
在源碼附件的配置(Source Attachment Configuration)對話框中,點擊目錄(External Folder...)
到jBPM安裝程序下的src目錄
點擊選擇(Choose)
點擊兩次'確定'(Ok)會關閉所有對話框
6.測試
6.1.現在開始新建一個例子測試下。
新建一個java project,名test。
右擊test項目工程,選擇Properties→Java Build Path→Libraries→Add Library→User Lirary→jBPM Libraries(引入用戶庫5.1建立的用戶庫jBPM Libraries)
如果沒有執行5.1步驟,在Java Build Path→Libraries中選擇Add External JARs把JBPM4.2/lib的包和JBPM4.2目錄下的JBPM.jar加入到庫中。
新建流程定義文新建src/jbpm/Order.jpdl.xml,這個文件的內容來自jbpm4.2jbpm-4.2\examples\src\org\jbpm\examples\services目錄下










新建類src/jbpm/JbpmTest.java



























從jbpm-4.2\src目錄下找到jbpm.cfg.xml,jbpm.hibernate.cfg.xml,jbpm.mail.properties,jbpm.mail.templates.examples.xml復制到test/src目錄下,
修改jbpm.hibernate.cfg.xml文件中的數據庫連接(使用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/jbpmdb</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123</property>
運行JbpmTest代碼。
如果出現[JDBCExceptionReporter] Cannot delete or update a parent row: a foreign key constraint fails (`jbpm`.`jbpm4_execution`, CONSTRAINT `FK_EXEC_INSTANCE` FOREIGN KEY (`INSTANCE_`) REFERENCES `jbpm4_execution` (`DBID_`))
錯誤,把hibernate.dialect改為<property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
運行成功后,按啟動上一篇JBPM4.2安裝的tomcat,訪問http://localhost:8080/jbpm-console,登錄JBPM控制臺,可以看到剛才發布的流程
在數據庫中也可看到jbpm4_deployment,jbpm4_deployprop,jbpm4_lob多了數據.
如果訪問http://localhost:8080/jbpm-console時出現登錄失敗,需要在發布后重新加載用戶信息,進入jbpm-4.2\install,運行ant load.example.identities命令。出現這個問題的原因是因為在jbpm.hibernate.cfg.xml這個文件中配置問題,可以把 <mapping resource="jbpm.identity.hbm.xml" /> 這一句刪除或注釋掉,就不會出現發布時清空用戶的問題。
測試代碼:jbpmTest.rar