jbpm在建立例項時的事務管理

2021-08-30 05:19:16 字數 819 閱讀 9197

今天在做jbpm時發現乙個問題。因為jbpm的資訊不夠全面,所以我又建了乙個擴充套件的processdefinition實體workflow,裡面有建立時間、建立人等一些相關資訊,然用了乙個「一對一」和jbpm裡的processdefinition進行了關聯,使用了懶載入策略。workflow實體如下:

public class workflow()

當然是一對一的單向關聯。當通過workflow例項取processdefinition的資訊時沒什麼問題,如是當直接用workflow.getprocessdefinition()的例項去建立processinstance的例項時問題就出現了。如processinstance processinstance = new processinstance(workflow.getprocessdefinition())。顯示的是session is closed。然後我又直接通過jbpm的context.getgrahsession.findprocessdefinition獲得了乙個同樣的例項,發現又沒問題。通過equal進行對比,兩個例項是一樣的。這讓我百思不得其解。

我沒看jbpm的**,這裡給出乙個草率的定論:當需要對流程例項化時,需要開啟另乙個session,而這個session就是通過context.getgrahsession得。如果不通過這個session獲得流程定義,流程例項的session和程式中的session是兩個不同的session,因此會出現session關閉的現象。所要必須要通過context.getgrahsession來獲得乙個流程,才能對此流程例項化。

當然,如果我說的不對,肯請大家指正。看看有沒有什麼方法可直接通過關聯的processdefinition進行例項化。

springboot 事務管理例項

transactional spring 事務註解 1.簡單開啟事務管理 enabletransactionmanagement 啟註解事務管理,等同於xml配置方式的2.事務註解詳解 預設遇到throw new runtimeexception 會回滾 需要捕獲的throw new excepti...

Spring事務管理 宣告式事務管理的使用

下面是步驟 圖是引用的,侵刪 接下去是我寫的 xmlns xmlns xsi xmlns context xmlns aop xmlns tx xsi schemalocation spring beans.xsd spring context.xsd spring tx.xsd spring ao...

spring的事務管理

spring宣告式事務讓我們從複雜的事務處理中得到解脫。使得我們再也無需要去處理獲得連線 關閉連線 事務提交和回滾等這些操作。再也無需要我們在與事務相關的方法中處理大量的try catch finally 我們在使用spring宣告式事務時,有乙個非常重要的概念就是事務屬性。事務屬性通常由事務的傳播...