クラス MultiResourceItemReader<T>

実装されたすべてのインターフェース:
ItemReader<T>ItemStreamItemStreamReader<T>

public class MultiResourceItemReader<T> extends AbstractItemStreamItemReader<T>
複数のリソースからアイテムを順番に読み取ります。リソースリストは setResources(Resource[]) によって指定され、実際の読み取りは setDelegate(ResourceAwareItemReaderItemStream) に委譲されます。

入力リソースは、再起動シナリオでのジョブ実行間でリソースの順序が確実に保持されるように、setComparator(Comparator) を使用して順序付けされます。

作成者:
Robert Kasanicky, Lucas Ward, Mahmoud Ben Hassine
  • コンストラクターの詳細

    • MultiResourceItemReader

      public MultiResourceItemReader()
  • メソッドの詳細

    • setStrict

      public void setStrict(boolean strict)
      厳密モードでは、読み取るリソースがない場合、リーダーは open(org.springframework.batch.item.ExecutionContext) で例外をスローします。
      パラメーター:
      strict - デフォルトでは false
    • read

      @Nullable public T read() throws ExceptionSE, UnexpectedInputException, ParseException
      次の項目を読み取り、必要に応じて次のリソースにジャンプします。
      戻り値:
      T 処理するアイテム、またはデータソースが使い果たされた場合は null 
      例外:
      ParseException - 現在のレコードの解析に問題がある場合 (しかし、次のものはまだ有効かもしれません)
      NonTransientResourceException - 基礎となるリソースに致命的な例外がある場合。この例外をスローした後、実装は後続の read 呼び出しから null を返すように努める必要があります。
      UnexpectedInputException - 入力データに未分類の問題がある場合。潜在的に一時的であると想定します。後続の読み取り呼び出しは成功する可能性があります。
      ExceptionSE - 特定のエラーがない場合。
    • close

      public void close() throws ItemStreamException
      setDelegate(ResourceAwareItemReaderItemStream) リーダーを閉じて、インスタンス変数値をリセットします。
      次で指定:
      インターフェース ItemStreamclose 
      オーバーライド:
      クラス ItemStreamSupportclose 
      例外:
      ItemStreamException
      関連事項:
    • open

      public void open(ExecutionContext executionContext) throws ItemStreamException
      再起動の場合にどのリソースから開始するかを判断し、デリゲートを開いて、リソース内のデリゲートの位置を復元します。
      次で指定:
      インターフェース ItemStreamopen 
      オーバーライド:
      クラス ItemStreamSupportopen 
      パラメーター:
      executionContext - 現在のステップの ExecutionContext 再起動時のステップの最後の実行からの executionContext になります。
      例外:
      ItemStreamException
      関連事項:
    • update

      public void update(ExecutionContext executionContext) throws ItemStreamException
      現在のリソースインデックスと位置をリソースに保存します。
      次で指定:
      インターフェース ItemStreamupdate 
      オーバーライド:
      クラス ItemStreamSupportupdate 
      パラメーター:
      executionContext - 更新される
      例外:
      ItemStreamException
      関連事項:
    • setDelegate

      public void setDelegate(ResourceAwareItemReaderItemStream<? extends T> delegate)
      パラメーター:
      delegate - 単一の Resource から項目を読み取ります。
    • setSaveState

      public void setSaveState(boolean saveState)
      更新する ItemStream 呼び出し中に、提供された ExecutionContext に状態を保存する必要があるかどうかを示すブール値を設定します。
      パラメーター:
      saveState - ExecutionContext を更新する場合は true。False は ExecutionContext を更新しません。
    • setComparator

      public void setComparator(ComparatorSE<org.springframework.core.io.Resource> comparator)
      パラメーター:
      comparator - 注入されたリソースの順序付けに使用され、デフォルトでは Resource.getFilename() 値を比較します。
    • setResources

      public void setResources(org.springframework.core.io.Resource[] resources)
      パラメーター:
      resources - 入力リソース