jbpm-4.4與spring整合配置比較容易,這裡我使用的是spring-2.5.6,資料庫連線池使用c3p0,將相關的兩個jar檔案加入到classpath中。
jbpm-4.4與spring整合的配置過程說明如下。
配置
1、修改jbpm.cfg.xml配置檔案
將jbpm.cfg.xml檔案中一行,修改為 ,我們使用spring的事務管理器,修改後配置檔案內容為:
配置檔案內容如下所示:
這裡使用mysql作為流程資料庫,需要在datasource的bean中配置,其他的配置內容非常容易理解。這裡面,我們最終的目標是通過spring的ioc容器來管理jbpm引擎的建立,即在應用中獲取到乙個org.jbpm.api.processengine例項即可,在乙個應用中通常只有乙個流程引擎例項,然後通過這個例項就可以獲取到流程提供的6種基本服務:
org.jbpm.api.repositoryservice
org.jbpm.api.executionservice
org.jbpm.api.managementservice
org.jbpm.api.taskservice
org.jbpm.api.historyservice
org.jbpm.api.identityservice
一般情況下,在開發中不要將org.jbpm.api.processengine例項暴露給實際開發者,而只是暴露出引擎提供的服務即可。
測試驗證
我們測試用例的流程定義如圖所示:
對應的流程定義檔案內容如下所示:
基於該流程定義,實現的測試用例如下所示:
新Jbpm4 4與spring整合方式
背景 最近專案要用到工作流,在網上搜了一些jbpm4和spring的整合方案,發現大部分都是官方文件提供的方案 本文不詳細描述官方方案 但官方整合方式有其缺陷,例如遇到如下情況,系統架構是通過web.xml載入專案的所有spring檔案,並出現了多個sessionfactory的情況。中途客戶提出新...
Jbpm 4 4學習筆記 二
jbpm是面向流程程式設計的框架。1.key是檔名稱,類似於startprocessinstancebykey這樣的方法就是按照檔名查詢 2.state,狀態節點為典型的等待狀態,它不會向任務列表新增任務。task節點本質上還是state的一種,只是多了個參與者。當乙個流程執行到任務節點 task ...
JBPM4 4 表結構和介面
1 資料庫設計 jbpm4.4的持久層是採用的hibernate,大大提高了程式了移植性,和資料庫進行了解耦。它通過18張表進行資料處理,我們可以通過powerdesigner進行反向工程,匯出資料物理設計圖,進行檢視這些表之間的結構。表名稱 說明 jbpm4 deployment 儲存部署id j...