クラス MultiResourceItemWriter<T>

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

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

このライターは、書き込む項目がある場合にのみ出力ファイルを作成します。つまり、項目が渡されない場合 (たとえば、処理フェーズ中にすべての項目がフィルター処理またはスキップされた場合) は空のファイルは作成されません。

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

    • 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
      インターフェースからコピーされた説明: ItemStream
      ストリームの動作にリソースが必要な場合、ここで破棄する必要があります。このメソッドが呼び出されると、他のすべてのメソッド(open を除く)は例外をスローする場合があります。
      例外:
      ItemStreamException
    • open

      public void open(ExecutionContext executionContext) throws ItemStreamException
      インターフェースからコピーされた説明: ItemStream
      提供された ExecutionContext のストリームを開きます。
      パラメーター:
      executionContext - 現在のステップの ExecutionContext。再起動時のステップの最後の実行からの executionContext になります。
      例外:
      ItemStreamException
    • update

      public void update(ExecutionContext executionContext) throws ItemStreamException
      インターフェースからコピーされた説明: ItemStream
      オープン中に提供された実行コンテキストが保存されようとしていることを示します。状態が残っているが、コンテキストに入れられていない場合は、ここに追加する必要があります。
      パラメーター:
      executionContext - 更新される
      例外:
      ItemStreamException