クラス AbstractFileItemWriter<T>

実装されたすべてのインターフェース:
ResourceAwareItemWriterItemStream<T>ItemStreamItemStreamWriter<T>ItemWriter<T>org.springframework.beans.factory.InitializingBean
既知の直属サブクラス
FlatFileItemWriterJsonFileItemWriter

public abstract class AbstractFileItemWriter<T> extends AbstractItemStreamItemWriter<T> implements ResourceAwareItemWriterItemStream<T>, org.springframework.beans.factory.InitializingBean
ファイルまたはストリームにデータを書き込むアイテムライターの基本クラス。このクラスは、再起動、強制同期、追加などの一般的な機能を提供します。出力ファイルの場所は、書き込み可能なファイルを表す必要がある WritableResource によって定義されます。
バッファーライターを使用してパフォーマンスを向上させます。
実装はスレッドセーフではありません。
導入:
4.1
作成者:
Waseem Malik, Tomas Slanina, Robert Kasanicky, Dave Syer, Michael Minella, Mahmoud Ben Hassine, Glenn Renfro, Remi Kaeffer, Elimelec Burghelea
  • ネストされたクラスのサマリー

    ネストされたクラス
    修飾子と型
    クラス
    説明
    protected class
    ライターのランタイム状態をカプセル化します。
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    protected boolean
    static final StringSE
    static final StringSE
    static final boolean
    protected StringSE
    protected static final org.apache.commons.logging.Log
    protected boolean
  • コンストラクターの概要

    コンストラクター
    コンストラクター
    説明
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    ストリームの動作にリソースが必要な場合、ここで破棄する必要があります。
    protected abstract StringSE
    doWrite(Chunk<? extends T> items)
    アイテムの文字列に「改行」が続く文字列を書きます。改行区切りの形式は、基礎となるオペレーティングシステムによって決定されます。
    void
    open(ExecutionContext executionContext)
    リーダーを初期化します。
    void
    setAppendAllowed(boolean append)
    ターゲットファイルがすでに存在する場合に追加する必要があることを示すフラグ。
    void
    setEncoding(StringSE newEncoding)
    出力テンプレートのエンコーディングを設定します。
    void
    footerCallback は、最後の項目をファイルに書き込んだ後、ファイルが閉じられる前に呼び出されます。
    void
    setForceSync(boolean forceSync)
    フラッシュ時に変更を強制的にディスクに同期する必要があることを示すフラグ。
    void
    最初の項目をファイルに書き込む前に、headerCallback が呼び出されます。
    void
    setLineSeparator(StringSE lineSeparator)
    行区切りのパブリック setter。
    void
    setResource(org.springframework.core.io.WritableResource resource)
    書き込み可能なリソースの場合は Setter。
    void
    setSaveState(boolean saveState)
    更新する ItemStream 呼び出し中に、提供された ExecutionContext に状態を保存するかどうかを示すフラグを設定します。
    void
    setShouldDeleteIfEmpty(boolean shouldDeleteIfEmpty)
    終了時に行が書き込まれていない場合(ヘッダーとフッターを除く)、ターゲットファイルを削除することを示すフラグ。
    void
    setShouldDeleteIfExists(boolean shouldDeleteIfExists)
    ターゲットファイルがすでに存在する場合は削除する必要があることを示すフラグ。そうでない場合は作成されます。
    void
    setTransactional(boolean transactional)
    トランザクションがアクティブな場合、バッファへの書き込みを遅らせることを示すフラグ。
    void
    update(ExecutionContext executionContext)
    オープン中に提供された実行コンテキストが保存されようとしていることを示します。
    void
    write(Chunk<? extends T> items)
    文字列とそれに続く「改行」を書き出します。改行区切りの形式は、基になるオペレーティングシステムによって決定されます。

    クラス org.springframework.batch.item.ItemStreamSupport から継承されたメソッド

    getExecutionContextKey, getName, setExecutionContextName, setName

    クラス java.lang.ObjectSE から継承されたメソッド

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE

    インターフェース org.springframework.beans.factory.InitializingBean から継承されたメソッド

    afterPropertiesSet
  • フィールドの詳細

    • DEFAULT_TRANSACTIONAL

      public static final boolean DEFAULT_TRANSACTIONAL
      関連事項:
    • logger

      protected static final org.apache.commons.logging.Log logger
    • DEFAULT_LINE_SEPARATOR

      public static final StringSE DEFAULT_LINE_SEPARATOR
    • DEFAULT_CHARSET

      public static final StringSE DEFAULT_CHARSET
    • state

    • shouldDeleteIfExists

      protected boolean shouldDeleteIfExists
    • lineSeparator

      protected StringSE lineSeparator
    • append

      protected boolean append
  • コンストラクターの詳細

    • AbstractFileItemWriter

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

    • setForceSync

      public void setForceSync(boolean forceSync)
      フラッシュ時に変更を強制的にディスクに同期する必要があることを示すフラグ。デフォルトは false です。これは、書き込みとキャッシュフラッシュの間に OS がクラッシュすると、ローカルディスクの変更が失われる可能性があることを意味します。true に設定すると、多くの頻繁な書き込みを伴う使用パターンのパフォーマンスが低下する場合があります。
      パラメーター:
      forceSync - 設定するフラグ値
    • setLineSeparator

      public void setLineSeparator(StringSE lineSeparator)
      行区切りのパブリック setter。システムプロパティ line.separator がデフォルトです。
      パラメーター:
      lineSeparator - 設定する行区切り
    • setResource

      public void setResource(org.springframework.core.io.WritableResource resource)
      書き込み可能なリソースの場合は Setter。書き込み可能なファイルを表します。
      次で指定:
      インターフェース ResourceAwareItemWriterItemStream<T>setResource 
      パラメーター:
      resource - 書き込まれるリソース
    • setEncoding

      public void setEncoding(StringSE newEncoding)
      出力テンプレートのエンコーディングを設定します。
      パラメーター:
      newEncoding - ライターに使用されるエンコーディングを含む StringSE
    • setShouldDeleteIfExists

      public void setShouldDeleteIfExists(boolean shouldDeleteIfExists)
      ターゲットファイルがすでに存在する場合は削除する必要があることを示すフラグ。そうでない場合は作成されます。デフォルトは true であるため、再起動時以外は追加されません。false に設定され、appendAllowed も false の場合、既存のデータが破損する可能性を防ぐためにストリームが開かれるときに例外が発生します。
      パラメーター:
      shouldDeleteIfExists - 設定するフラグ値
    • setAppendAllowed

      public void setAppendAllowed(boolean append)
      ターゲットファイルがすでに存在する場合に追加する必要があることを示すフラグ。このフラグが設定されている場合、フラグ shouldDeleteIfExists は自動的に false に設定されるため、そのフラグを明示的に設定しないでください。デフォルト値は false です。
      パラメーター:
      append - 設定するフラグ値
    • setShouldDeleteIfEmpty

      public void setShouldDeleteIfEmpty(boolean shouldDeleteIfEmpty)
      終了時に行が書き込まれていない場合(ヘッダーとフッターを除く)、ターゲットファイルを削除することを示すフラグ。デフォルトは false です。
      パラメーター:
      shouldDeleteIfEmpty - 設定するフラグ値
    • setSaveState

      public void setSaveState(boolean saveState)
      更新する ItemStream 呼び出し中に、提供された ExecutionContext に状態を保存するかどうかを示すフラグを設定します。これを false に設定すると、再起動時に常に最初から開始されます。
      パラメーター:
      saveState - true の場合、状態は保持されます
    • setHeaderCallback

      public void setHeaderCallback(FlatFileHeaderCallback headerCallback)
      最初の項目をファイルに書き込む前に、headerCallback が呼び出されます。ヘッダーが書き込まれた後、改行が自動的に追加されます。
      パラメーター:
      headerCallback - ヘッダーを生成する FlatFileHeaderCallback
    • setFooterCallback

      public void setFooterCallback(FlatFileFooterCallback footerCallback)
      footerCallback は、最後の項目をファイルに書き込んだ後、ファイルが閉じられる前に呼び出されます。
      パラメーター:
      footerCallback - フッターを生成する FlatFileFooterCallback
    • setTransactional

      public void setTransactional(boolean transactional)
      トランザクションがアクティブな場合、バッファへの書き込みを遅らせる必要があることを示すフラグ。デフォルトは true です。
      パラメーター:
      transactional - バッファへの書き込みを遅延させる必要がある場合は true。
    • write

      public void write(Chunk<? extends T> items) throws ExceptionSE
      文字列とそれに続く「改行」を書き出します。改行区切りの形式は、基になるオペレーティングシステムによって決定されます。
      次で指定:
      インターフェース ItemWriter<T>write 
      パラメーター:
      items - 出力ストリームに書き込まれるアイテムのリスト
      例外:
      ExceptionSE - 出力ストリームへのアイテムの書き込み中にエラーが発生した場合
    • doWrite

      protected abstract StringSE doWrite(Chunk<? extends T> items)
      アイテムの文字列に「改行」が続く文字列を書きます。改行区切りの形式は、基礎となるオペレーティングシステムによって決定されます。
      パラメーター:
      items - 書かれる
      戻り値:
      書かれた行
    • close

      public void close()
      インターフェースからコピーされた説明: ItemStream
      ストリームの動作にリソースが必要な場合、ここで破棄する必要があります。このメソッドが呼び出されると、他のすべてのメソッド(open を除く)は例外をスローする場合があります。
      次で指定:
      インターフェース ItemStreamclose 
      関連事項:
    • open

      public void open(ExecutionContext executionContext) throws ItemStreamException
      リーダーを初期化します。このメソッドは、close が呼び出される前に複数回呼び出される場合があります。
      次で指定:
      インターフェース ItemStreamopen 
      パラメーター:
      executionContext - 現在のステップの ExecutionContext。再起動時のステップの最後の実行からの executionContext になります。
      例外:
      ItemStreamException
      関連事項:
    • update

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

      protected AbstractFileItemWriter<T>.OutputState getOutputState()