ItemReader 和 ItemWriter 列表
ItemReader
ItemReader | 描述 | 執行緒安全 |
---|---|---|
|
結合了 `ItemStream` 和 `ItemReader` 介面的抽象基類。 |
是 |
|
透過計數 `ItemReader` 返回的資料項數量來提供基本重啟功能的抽象基類。 |
否 |
|
提供基本分頁功能的抽象基類 |
否 |
|
基於 Spring Data 分頁功能提供基本分頁特性的抽象基類 |
否 |
|
一個以列表作為資料項的 `ItemReader`,它儲存來自注入的 `ItemReader` 的物件,直到它們準備好被打包成集合。此類必須用作能夠識別記錄邊界的自定義 `ItemReader` 的包裝器。自定義 Reader 應透過返回對其查詢方法(`isHeader()` 和 `isFooter()`)響應 `true` 的 `AggregateItem` 來標記記錄的開始和結束。請注意,此 Reader 不屬於 Spring Batch 提供的 Reader 庫,而是作為 `spring-batch-samples` 中的一個示例提供。 |
是 |
|
給定一個 Spring `AmqpTemplate`,它提供同步接收方法。`receiveAndConvert()` 方法允許您接收 POJO 物件。 |
是 |
|
一個從 Apache Kafka topic 中讀取訊息的 `ItemReader`。它可以配置為從同一 topic 的多個分割槽讀取訊息。此 Reader 在執行上下文中儲存訊息偏移量以支援重啟功能。 |
否 |
|
從平面檔案讀取。包括 `ItemStream` 和 `Skippable` 功能。參見 “FlatFileItemReader”。 |
否 |
|
將任何類適配到 `ItemReader` 介面。 |
是 |
|
透過 JDBC 從資料庫遊標讀取。參見 “基於遊標的 ItemReader”。 |
否 |
|
給定一個 SQL 語句,按頁讀取行,這樣可以在不耗盡記憶體的情況下讀取大型資料集。 |
是 |
|
給定一個 Spring `JmsOperations` 物件以及用於傳送錯誤的 JMS 目標或目標名稱,透過注入的 `JmsOperations#receive()` 方法提供接收到的資料項。 |
是 |
|
執行 JPQL 查詢並迭代返回的結果集 |
否 |
|
給定一個 JPQL 查詢,按頁讀取行,這樣可以在不耗盡記憶體的情況下讀取大型資料集。 |
是 |
|
按順序從列表中提供資料項。 |
否 |
|
給定一個 `MongoOperations` 物件和一個基於 JSON 的 MongoDB 查詢,提供從 `MongoOperations#find()` 方法接收到的資料項。 |
是 |
|
給定一個 `Neo4jOperations` 物件和一個 Cypher 查詢的組成部分,資料項作為 Neo4jOperations.query 方法的結果返回。 |
是 |
|
給定一個 Spring Data `PagingAndSortingRepository` 物件、一個 `Sort` 以及要執行的方法名,返回由 Spring Data 倉庫實現提供的資料項。 |
是 |
|
從執行資料庫儲存過程產生的資料庫遊標讀取。參見 |
否 |
|
透過 StAX 讀取。參見 |
否 |
|
從 Json 文件讀取資料項。參見 |
否 |
|
從包含序列化 Avro 物件的資源讀取資料項。 |
否 |
|
從 LDIF 資源讀取資料項並將其作為 `LdapAttributes` 返回 |
否 |
|
從 LDIF 資源讀取資料項,並使用 `RecordMapper` 將它們對映到領域物件 |
否 |
ItemWriter
ItemWriter | 描述 | 執行緒安全 |
---|---|---|
|
結合了 `ItemStream` 和 `ItemWriter` 介面的抽象基類。 |
是 |
|
給定一個 Spring `AmqpTemplate`,提供一個同步 `send` 方法。`convertAndSend(Object)` 方法允許您傳送 POJO 物件。 |
是 |
|
將資料項傳遞給注入的 `ItemWriter` 物件 `List` 中每個項的 `write` 方法。 |
是 |
|
寫入平面檔案。包括 `ItemStream` 和 Skippable 功能。參見 “FlatFileItemWriter”。 |
否 |
|
將任何類適配到 `ItemWriter` 介面。 |
是 |
|
使用 `PreparedStatement` 的批處理功能(如果可用),並且可以在 `flush` 期間採取基本步驟來定位失敗。 |
是 |
|
使用 `JmsOperations` 物件,透過 `JmsOperations#convertAndSend()` 方法將資料項寫入預設佇列。 |
是 |
|
此 ItemWriter 具有 JPA `EntityManager` 意識,並處理一些非“JPA 意識”的 `ItemWriter` 無需瞭解的與事務相關的工作,然後委託給另一個 writer 進行實際寫入。 |
是 |
|
使用 `KafkaTemplate` 物件,透過 `KafkaTemplate#sendDefault(Object, Object)` 方法將資料項寫入預設 topic,使用 `Converter` 將 key 從資料項中映射出來。還可以配置刪除標誌以向 topic 傳送刪除事件。 |
否 |
|
使用 Spring 的 `JavaMailSender`,將型別為 `MimeMessage` 的資料項作為郵件訊息傳送。 |
是 |
|
給定一個 `MongoOperations` 物件,透過 `MongoOperations.save(Object)` 方法寫入資料項。實際寫入會延遲到事務提交前的最後可能時刻。 |
是 |
|
給定一個 `Neo4jOperations` 物件,資料項透過 `save(Object)` 方法持久化或透過 `delete(Object)` 刪除,具體取決於 `ItemWriter` 的配置 |
是 |
|
擴充套件 `AbstractMethodInvokingDelegator`,在執行時建立引數。引數透過(透過 `SpringBeanWrapper`)從要處理的資料項的欄位中檢索值來建立,基於注入的欄位名陣列。 |
是 |
|
給定一個 Spring Data `CrudRepository` 實現,資料項透過配置中指定的方法儲存。 |
是 |
|
使用 `Marshaller` 實現將每個資料項轉換為 XML,然後使用 StAX 將其寫入 XML 檔案。 |
否 |
|
使用 `JsonObjectMarshaller` 實現將每個資料項轉換為 Json,然後將其寫入 Json 檔案。 |
否 |
|
使用 Avro 將資料序列化到 `WritableResource` |
否 |
|
將資料項寫入 `List` 的 ItemWriter。 |
否 |