詞彙表

Spring Batch 詞彙表

批次

隨著時間累積的商業交易。

批次應用程式風格

用於指定批次處理作為其自身應用程式風格的術語,類似於線上、Web 或 SOA。它具有輸入、驗證、資訊轉換為業務模型、業務處理和輸出的標準元素。此外,它還需要在巨觀層面進行監控。

批次處理

處理在一段時間(例如一小時、一天、一週、一個月或一年)內累積的許多商業交易的批次。它是以重複且可預測的方式將一個或一組流程應用於許多資料實體或物件,並且沒有手動元素或有獨立的手動元素用於錯誤處理。

批次視窗

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

Step (步驟)

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

Tasklet

由應用程式開發人員建立的元件,用於處理 Step 的業務邏輯。

批次 Job 類型

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

驅動查詢

驅動查詢識別 Job 要執行的工作集。然後,Job 將該工作分解為個別的工作單元。例如,驅動查詢可能是識別所有狀態為「待傳輸」的金融交易,並將它們發送到合作夥伴系統。驅動查詢傳回一組要處理的記錄 ID。然後每個記錄 ID 都成為一個工作單元。驅動查詢可能涉及聯結(如果選擇標準跨越兩個或多個表),或者它可以與單個表一起使用。

Item (項目)

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

邏輯工作單元 (LUW)

批次 Job 迭代驅動查詢(或其他輸入來源,例如檔案)以執行 Job 必須完成的一組工作。執行的每個工作迭代都是一個工作單元。

Commit 間隔

在單個交易中處理的一組 LUW。

分割

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

暫存表

在處理時保存臨時資料的表。

可重新啟動的

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

可重新運行的

一個可重新啟動的 Job,並根據先前運行的記錄處理來管理其自身狀態。可重新運行的 Step 的一個範例是基於驅動查詢的 Step。如果可以形成驅動查詢,以便在重新啟動 Job 時限制已處理的行,則它是可重新運行的。這由應用程式邏輯管理。通常,會將條件添加到 where 語句中,以限制驅動查詢傳回的行,其邏輯類似於 and processedFlag!= true

Repeat

批次處理最基本的單元之一,它定義為重複呼叫一段程式碼,直到完成且沒有錯誤為止。通常,只要有輸入,批次處理就會是可重複的。

Retry

簡化了具有重試語義的操作執行,重試語義最常與處理交易輸出異常相關聯。重試與重複略有不同。重試不是持續呼叫程式碼區塊,而是有狀態的,並持續使用相同的輸入呼叫相同的程式碼區塊,直到成功或超過某種類型的重試限制。它通常僅在操作的後續調用可能成功時才有用,因為環境中的某些方面已得到改善。

恢復

恢復操作以允許重複處理繼續的方式處理異常。

略過

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