1. 程式人生 > >jbpm4.3工作流整合(1)整合spring3與hibernate4

jbpm4.3工作流整合(1)整合spring3與hibernate4

我整合的專案是springMVC+hibernate4,spring的版本是3。

整體思路是封裝jbpm工作流引擎的api,提供給業務,封裝jbpm工作流的類起名叫JbpmUtil,JbpmUtil可以交給spring管理,也可以在業務中手動new。交給spring管理的話,資料庫連線也需要交給spring。我在專案中是採用的手動new的方法。所以jbpm和spring是沒有整合的,jbpm4.3和hibernate4整合是有問題的,因為jbpm4.3引擎開發底層是用hibernate3,hibernate3支援的一些方法在hibernate4中不再支援,所以需要在jbpm4.3.jar中修改部分呼叫hibernate的方法。

1、在JbpmUtil中呼叫底層API

JbpmUtil 類將業務中用到的底層jpbm API封裝,為業務提供處理流程的方法。

在Jbpm中所有的操作流程方法都是基於六個service:RepositoryService、ExcutionService、ManagermentService、TaskService、HistoryService、IdentityService。關於這六個service參考部落格地址 

其中這六大service又是基於org.jbpm.api.ProcessEngine類,獲取ProcessEngine有兩種方式

ProcessEngine processEngine = Configuration.getProcessEngine();
 ProcessEngine processEngine = new Configuration().setResource("jbpm.cfg.xml").buildProcessEngine();

兩種方式的區別在於呼叫hibernate的session,第一種採用連線池方式,效率高,第二種每次都重新載入連線池,很快資源會用完,所以採用第一種方式。

 jbpm.hibernanate.cfg.xml 配置資料庫連線,建議放在src根目錄下。

2、jbpm4.3整合hibernate4的改動
參考部落格

具體遇到哪些坑忘記了,由於沒有及時記錄,但是所有問題網上都有解決辦法^_^

如果整合過程中有問題,可以留言交流