術語表

Spring Batch 術語表

批處理 (Batch)

一段時間內累積的業務事務集合。

批處理應用風格

一個術語,用於將批處理指定為一種獨立的應用風格,類似於線上、Web 或 SOA。它包含輸入、驗證、資訊轉換為業務模型、業務處理和輸出等標準要素。此外,它還需要在宏觀層面進行監控。

批處理

處理一段時間(如一小時、一天、一週、一個月或一年)內累積的大量業務事務。它是一種重複且可預測的方式,將一個或一組流程應用於大量資料實體或物件,且不包含人工干預或為錯誤處理設定單獨的人工干預部分。

批處理視窗

批處理 Job 必須完成的時間範圍。這可能受到其他系統上線、其他依賴 Job 需要執行或批處理環境特有的其他因素的限制。

Step

主要的批處理任務或工作單元。它初始化業務邏輯並根據提交間隔設定和其他因素控制事務環境。

Tasklet

由應用開發者建立的一個元件,用於處理 Step 的業務邏輯。

批處理 Job 型別

Job 型別描述了 Job 在特定型別處理中的應用。常見領域包括介面處理(通常是平面檔案)、表單處理(用於線上生成 PDF 或列印格式)和報表處理。

驅動查詢

驅動查詢識別 Job 需要完成的工作集。Job 隨後將該工作分解為獨立的工作單元。例如,驅動查詢可能是識別所有狀態為“待傳輸”的財務事務並將其傳送到合作伙伴系統。驅動查詢返回一組要處理的記錄 ID。每個記錄 ID 隨後成為一個工作單元。驅動查詢可能涉及連線(如果選擇條件跨越兩個或多個表)或僅涉及單個表。

Item

Item 表示待處理的最小完整資料量。簡單來說,它可能是檔案中的一行、資料庫表中的一行或 XML 檔案中的一個特定元素。

邏輯工作單元 (LUW)

批處理 Job 透過驅動查詢(或其他輸入源,如檔案)進行迭代,以完成 Job 必須實現的整套工作。每次執行的工作迭代都是一個工作單元。

提交間隔

在單個事務中處理的一組 LUW。

分割槽

將一個 Job 拆分成多個執行緒,每個執行緒負責處理總資料的一個子集。執行執行緒可以在同一個 JVM 內,也可以跨越支援工作負載均衡的叢集環境中的多個 JVM。

暫存表

用於在處理過程中存放臨時資料的表。

可重啟的 (Restartable)

可以再次執行並假定與初次執行時相同身份的 Job。換句話說,它具有相同的 Job 例項 ID。

可重跑的 (Rerunnable)

一個可重啟且能管理其自身狀態(基於先前執行的記錄處理情況)的 Job。可重跑 Step 的一個例子是基於驅動查詢的 Step。如果驅動查詢可以被構造,使其在 Job 重啟時限制已處理的行,那麼它就是可重跑的。這由應用邏輯管理。通常,會在 where 語句中新增一個條件,使用類似於 and processedFlag != true 的邏輯來限制驅動查詢返回的行。

重複

重複 (Repeat)

重試

重試 (Retry)

恢復 (Recover)

恢復操作以一種方式處理異常,使得重複過程能夠繼續。

跳過 (Skip)

跳過是一種恢復策略,常用於檔案輸入源,作為忽略未透過驗證的錯誤輸入記錄的策略。