クラス MultiResourceItemWriter<T>

型パラメーター:
T - 項目のタイプ
実装されたすべてのインターフェース:
ItemStreamItemStreamWriter<T>ItemWriter<T>

public class MultiResourceItemWriter<T> extends AbstractItemStreamItemWriter<T>
現在のリソースに書き込まれた項目の数が setItemCountLimitPerResource(int) を超えると、ResourceAwareItemWriterItemStream をラップし、新しい出力リソースを作成します。サフィックスの作成は setResourceSuffixCreator(ResourceSuffixCreator) を使用してカスタマイズできます。

新しいリソースはチャンク境界でのみ作成されることに注意してください。つまり、1 つのリソースに書き込まれるアイテムの数は、setItemCountLimitPerResource(int) によって設定された制限と (制限 + チャンクサイズ) の間にあります。

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

    • MultiResourceItemWriter

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

    • write

      public void write(Chunk<? extends T> items) throws ExceptionSE
      インターフェースからコピーされた説明: ItemWriter
      指定されたデータ要素を処理します。通常の操作では null アイテムで呼び出されません。
      パラメーター:
      items - 書きこまれる項目。null であってはなりません。
      例外:
      ExceptionSE - エラーがある場合。フレームワークは例外をキャッチし、必要に応じて変換または再スローします。
    • setResourceSuffixCreator

      public void setResourceSuffixCreator(ResourceSuffixCreator suffixCreator)
      インデックスに基づいて、作成されたリソースのサフィックスをカスタマイズできます。
      パラメーター:
      suffixCreator - ライターが使用する ResourceSuffixCreator
    • setItemCountLimitPerResource

      public void setItemCountLimitPerResource(int itemCountLimitPerResource)
      この制限を超えると、次のチャンクが新しく作成されたリソースに書き込まれます。
      パラメーター:
      itemCountLimitPerResource - 新しいリソースを作成するタイミングを決定するために使用される int アイテムのしきい値。
    • setDelegate

      public void setDelegate(ResourceAwareItemWriterItemStream<? super T> delegate)
      出力の実際の書き込みに使用されるデリゲート。
      パラメーター:
      delegate - 出力の書き込みに使用される ResourceAwareItemWriterItemStream
    • setResource

      public void setResource(org.springframework.core.io.Resource resource)
      出力リソースのプロトタイプ。実際の出力ファイルは同じディレクトリに作成され、このプロトタイプと同じ名前にサフィックスが追加されます(setResourceSuffixCreator(ResourceSuffixCreator) による)。
      パラメーター:
      resource - プロトタイプリソース。
    • setSaveState

      public void setSaveState(boolean saveState)
      各コミット後にリーダーの状態が保存されることを示します。
      パラメーター:
      saveState - true 状態が保存されます。
    • close

      public void close() throws ItemStreamException
      クラスからコピーされた説明: ItemStreamSupport
      ノーオペレーション。
      次で指定:
      インターフェース ItemStreamclose 
      オーバーライド:
      クラス ItemStreamSupportclose 
      例外:
      ItemStreamException
      関連事項:
    • open

      public void open(ExecutionContext executionContext) throws ItemStreamException
      クラスからコピーされた説明: ItemStreamSupport
      ノーオペレーション。
      次で指定:
      インターフェース ItemStreamopen 
      オーバーライド:
      クラス ItemStreamSupportopen 
      パラメーター:
      executionContext - 現在のステップの ExecutionContext 再起動時のステップの最後の実行からの executionContext になります。
      例外:
      ItemStreamException
      関連事項:
    • update

      public void update(ExecutionContext executionContext) throws ItemStreamException
      クラスからコピーされた説明: ItemStreamSupport
      空の ExecutionContext を返します。
      次で指定:
      インターフェース ItemStreamupdate 
      オーバーライド:
      クラス ItemStreamSupportupdate 
      パラメーター:
      executionContext - 更新される
      例外:
      ItemStreamException
      関連事項: