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

Fire Workflow 源碼深度解析 (二):任務類型體系與核心屬性定義

     編輯:Java 相關知識

Fire Workflow `org.fireflow.model` 套件中任務相關類別定義,涵蓋三種具體任務類型、時間間隔、事件監聽器與擴展屬性保留機制。

任務類型繼承體系

所有任務繼承自 `Task` 基類,三種具體實現:

FormTask - 人工表單任務

  • 表單類型:EDITFORM (可編輯)、VIEWFORM (唯讀)、LISTFORM (列表)
  • 分配策略:
    • ALL:角色全體簽核,全部完成任務才結束
    • ANY:任一簽核即結束,其他工作項取消
  • 核心屬性:
    • `performer` (Participant):操作者/角色引用
    • `defaultView`:預設表單類型 (預設 VIEWFORM)
    • `editForm`/`viewForm`/`listForm` (Form):三類表單引用

SubflowTask - 子流程任務

  • `subWorkflowProcess` (SubWorkflowProcess):引用的子流程資源

ToolTask - 自動化工具任務

  • `application` (Application):引用的後台應用程式資源

FormTask SubflowTask ToolTask

輔助核心類別

Duration - 時間間隔

工作流執行時限表示,封裝數值與單位 (秒/分/時/天),支援解析與格式化。

EventListener - 事件監聽器

記錄監聽器實作類別名稱,供引擎動態載入。功能待完善,建議擴展為支援多事件類型、順序控制。

ExtendedAttributeNames - 擴展屬性保留名單

定義框架內部保留的擴展屬性名稱常數,防止用戶自定義屬性命名衝突。包含流程實例狀態、任務優先級、委派資訊等關鍵鍵值。

Duration EventListener ExtendedAttributeNames

Task 基類核心屬性回顧

屬性說明
type任務類型:FORM, TOOL, SUBFLOW, DUMMY(保留)
duration執行時限 (Duration 型別)
priority優先級 (1.0 版未啟用)
loopStrategy迴路策略:REDO(重做)、SKIP(跳過)、NONE(無)
taskInstanceCreator任務實例建立器,未設定則用流程全域預設
taskInstanceRunner任務實例執行器,分 Form/Tool/Subflow 三型
taskInstanceCompletionEvaluator任務實例完成判斷器,分三型對應

設計亮點

  1. 策略模式應用:循環策略、實例建立/執行/完成判斷皆採用可插拔介面設計,支援業務自定義擴展
  2. 資源解耦:任務僅持有資源引用 (Form/Application/SubWorkflowProcess),實際資源管理由 `ResourceManager` 統一負責
  3. 表單類型細分:EDIT/VIEW/LIST 三種表單模式對應真實業務場景 (編輯/審閱/列表查詢)

下一篇將介紹流程定義頂層元素 `WorkflowProcess` 與資料欄位 `DataField` 等核心模型。

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