クラス TransactionAwareBufferedWriter

java.lang.ObjectSE
java.io.WriterSE
org.springframework.batch.support.transaction.TransactionAwareBufferedWriter
実装されたすべてのインターフェース:
CloseableSEFlushableSEAppendableSEAutoCloseableSE

public class TransactionAwareBufferedWriter extends WriterSE
トランザクションがアクティブな場合に実際の書き込みまたはバッファのクローズを遅らせる FileChannelSE のラッパー。Writer.write(String)SE への呼び出しでトランザクションが検出された場合、パラメーターはバッファーに入れられ、トランザクションがコミットされた場合にのみ、基礎となるライターに渡されます。
作成者:
Dave Syer, Michael Minella, Niels Ferguson, Mahmoud Ben Hassine
  • コンストラクターの詳細

    • TransactionAwareBufferedWriter

      public TransactionAwareBufferedWriter(FileChannelSE channel, RunnableSE closeCallback)
      基になるファイルチャネルが提供された新しいインスタンスを作成し、閉じるときに実行するコールバックを作成します。コールバックは、出力ストリームやチャネルなどの関連リソースをクリーンアップする必要があります。
      パラメーター:
      channel - 実際のファイル IO を実行するために使用されるチャネル
      closeCallback - クローズ時に実行するコールバック
  • メソッドの詳細

    • setEncoding

      public void setEncoding(StringSE encoding)
    • setForceSync

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

      public long getBufferSize()
      フラッシュされていないデータがあるかどうかをクライアントが判断するための便利なメソッド。
      戻り値:
      フラッシュされていないバッファリングされたデータの現在のサイズ(バイト単位)
    • close

      public void close() throws IOExceptionSE
      次で指定:
      インターフェース AutoCloseableSEclose 
      次で指定:
      インターフェース CloseableSEclose 
      次で指定:
      クラス WriterSEclose 
      例外:
      IOExceptionSE
    • flush

      public void flush() throws IOExceptionSE
      次で指定:
      インターフェース FlushableSEflush 
      次で指定:
      クラス WriterSEflush 
      例外:
      IOExceptionSE
    • write

      public void write(char[] cbuf, int off, int len) throws IOExceptionSE
      次で指定:
      クラス WriterSEwriteSE 
      例外:
      IOExceptionSE
    • write

      public void write(StringSE str, int off, int len) throws IOExceptionSE
      オーバーライド:
      クラス WriterSEwriteSE 
      例外:
      IOExceptionSE