jbpm4事務和spring事務的整合

2021-09-01 03:25:19 字數 1232 閱讀 7026

我們知道,支援嵌入到各種架構環境中使用一直是 jbpm工作流引擎的核心競爭力之一,自jbpm3版本開始,jbpm工作流引擎就在很多應用中被整合到spring等架構中使用,從jbpm4.4開始,jbpm工作流引擎可以支援開發者很自然的將其整合到spring架構中使用; spring架構整合jbpm4,只要達成兩個目標,就可以基本成功了:

1.持久化整合:預設地,jbpm4為每個客戶端操作開啟乙個事務,在此事務中呼叫服務api,而在通常的spring應用中,應用的訪問一般來自web的http請求,然後在此http請求執行緒中,通過呼叫spring bean的方法進入事務邊界,這與標準的jbpm4事務處理方式是不同的。因此jbpm4提供了相應的工具將自身的持久化事務管理權交給了spring框架

2.服務整合: 預設地,jbpm4的客戶端通過硬編碼獲取各種工作流服務介面。現在,需要將這些jbpm4服務介面整合到spring的ioc架構中,作為spring bean,經由依賴注入等方式供客戶端應用呼叫

具體步驟如下:

1.首先需要將jbpm4預設的hibernate事務管理配置替換為spring事務管理配置: jbpm4.4原始碼中的 'jbpm.tx.spring.cfg.xml'檔案複製到工程的src下面,然後在jbpm.cfg.xml中將''  修改為''

<?xml version="1.0" encoding="utf-8"?>

"xmlns:xsi="

" xmlns:aop="

"xmlns:tx="

"xsi:schemalocation="

/spring-beans-2.5.xsd

/spring-aop-2.5.xsd

/spring-tx-2.5.xsd$$

對映jbpm的一些服務,必須要配置

jbpm.execution.hbm.xml

jbpm.history.hbm.xml

jbpm.task.hbm.xml

jbpm.identity.hbm.xml

<?xml version="1.0" encoding="utf-8"?>

"xmlns:xsi="

"xmlns:context="

"xsi:schemalocation="

/spring-beans-2.5.xsd

/spring-context-2.5.xsd

">

至此,大功告成,jbpm的事務就和spring的事務整合到一起了!

JBPM4 獲取任務

示例 1 xml version 1.0 encoding utf 8 23 process name test key test xmlns 4 start name start1 g 255,35,48,48 5 transition name 提交到科長 to 科長審批 g 63,25 6st...

jbpm4 引數設定

task test 2 xmlns description 測試型別 這樣是無法取到 description的 正確寫法是這樣的 task test 2 xmlns 測試型別 流程 xmlns 發布到資料庫中的時候會變成 流程 key process xmlns 這樣發布到資料 庫中,流程名稱就是中...

jbpm4流程服務介紹

1 流程引擎processengine的構建方式如下三種 2 流程引擎提供的主要服務介面如下 2.1 流程資源repositoryservice rs包含了管理流程定義的所有方法 發布 刪除 掛起和恢復 檢視 2.1.1 發布流程 2.1.2 刪除流程 2.1.3 掛起和恢復流程 2.1.4 檢視流...