Spring Batch 整合

許多 Spring Batch 的使用者可能會遇到超出 Spring Batch 範圍的需求,但這些需求可以透過使用 Spring Integration 有效率且簡潔地實作。反之,Spring Integration 的使用者可能會遇到 Spring Batch 的需求,並需要一種有效整合這兩個框架的方法。在此背景下,出現了幾種模式和用例,而 Spring Batch Integration 正是為了解決這些需求。

Spring Batch 和 Spring Integration 之間的界線並不總是那麼清晰,但兩條建議可以提供幫助:思考粒度和應用常見模式。本節將介紹其中一些常見模式。

在批次處理程序中加入訊息傳遞功能,可以實現操作自動化,並將關鍵考量因素分離和策略化。例如,訊息可以觸發 Job 執行,然後可以透過多種方式公開傳送訊息。或者,當 Job 完成或失敗時,該事件可能會觸發訊息的傳送,而這些訊息的消費者可能會有與應用程式本身無關的操作考量。訊息傳遞也可以嵌入在 Job 中(例如,讀取或寫入項目以透過通道進行處理)。遠端分割和遠端區塊處理提供了在多個工作人員之間分配工作負載的方法。

本節涵蓋以下關鍵概念