类 TransactionAwareBufferedWriter
- java.lang.Object
- java.io.Writer
- org.springframework.batch.support.transaction.TransactionAwareBufferedWriter
- 所有已实现的接口:
java.io.Closeable
,java.io.Flushable
,java.lang.Appendable
,java.lang.AutoCloseable
public class TransactionAwareBufferedWriter extends java.io.Writer
Wrapper for aFileChannel
that delays actually writing to or closing the buffer if a transaction is active. If a transaction is detected on the call toWriter.write(String)
the parameter is buffered and passed on to the underlying writer only when the transaction is committed.- 作者:
- Dave Syer, Michael Minella
构造器概要
构造器 构造器 说明 TransactionAwareBufferedWriter(java.nio.channels.FileChannel channel, java.lang.Runnable closeCallback)
Create a new instance with the underlying file channel provided, and a callback to execute on close.
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 void
close()
void
flush()
long
getBufferSize()
Convenience method for clients to determine if there is any unflushed data.void
setEncoding(java.lang.String encoding)
void
setForceSync(boolean forceSync)
Flag to indicate that changes should be force-synced to disk on flush.void
write(char[] cbuf, int off, int len)
构造器详细资料
TransactionAwareBufferedWriter
public TransactionAwareBufferedWriter(java.nio.channels.FileChannel channel, java.lang.Runnable closeCallback)
Create a new instance with the underlying file channel provided, and a callback to execute on close. The callback should clean up related resources like output streams or channels.- 参数:
channel
- channel used to do the actual file IOcloseCallback
- callback to execute on close
方法详细资料
setEncoding
public void setEncoding(java.lang.String encoding)
setForceSync
public void setForceSync(boolean forceSync)
Flag to indicate that changes should be force-synced to disk on flush. Defaults to false, which means that even with a local disk changes could be lost if the OS crashes in between a write and a cache flush. Setting to true may result in slower performance for usage patterns involving many frequent writes.- 参数:
forceSync
- the flag value to set
getBufferSize
public long getBufferSize()
Convenience method for clients to determine if there is any unflushed data.- 返回:
- the current size (in bytes) of unflushed buffered data
close
public void close() throws java.io.IOException
- 指定者:
close
在接口中java.lang.AutoCloseable
- 指定者:
close
在接口中java.io.Closeable
- 指定者:
close
在类中java.io.Writer
- 抛出:
java.io.IOException
flush
public void flush() throws java.io.IOException
- 指定者:
flush
在接口中java.io.Flushable
- 指定者:
flush
在类中java.io.Writer
- 抛出:
java.io.IOException
write
public void write(char[] cbuf, int off, int len) throws java.io.IOException
- 指定者:
write
在类中java.io.Writer
- 抛出:
java.io.IOException