首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

jBPM 4.0 開發指南:第 9 章 歷史事件與審計追蹤機制

     編輯:Java 相關知識

第 9 章 歷史事件與審計追蹤機制

9.1 歷史記錄架構概覽

流程執行過程中會自動觸發 HistoryEvent,框架在兩個維度維護歷史資訊:

  • 流程實例級:記錄流程啟動與結束事件
  • 活動實例級:記錄每個活動的執行軌跡

流程實例的啟動與結束事件由核心引擎直接觸發;而活動級事件則由 ActivityBehaviour 實現類負責調用 ActivityExecution 暴露的 historyXxx 方法記錄。

9.2 事件處理與持久化流程

所有歷史事件統一委派給 HistorySession 處理,默認實現 HistorySessionImpl 會調用事件自身的 process() 方法。HistoryEvent 屬於臨時性事件,在 process() 方法中負責在歷史模型中建立或合併資料。

歷史模型包含完整的繼承體系:

  • HistoryProcessInstance:流程實例歷史記錄
  • HistoryActivityInstance:活動實例歷史記錄及其子類體系

事件處理範例:

  • ProcessInstanceStart 事件 → 創建 HistoryProcessInstance 記錄
  • ProcessInstanceEnd 事件 → 更新該記錄的結束時間與狀態屬性

9.3 自動活動的優化策略

對於自動活動(無等待狀態),框架採用合併事件優化:僅生成單一歷史事件,在同一事務中完成資料寫入,減少資料庫交互開銷。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved