The FileWriterPattern pattern is used to write text data to a file.
The TextFileWriter class provides the logic to open and write string data to the given file. The file is opened either in append or overwrite mode, depending on the properties specified. The file is always opened in append mode during a job restart.
Property name | Value |
---|---|
PATTERN_IMPL_CLASS | Class that implements the FileWriterPattern interface |
FILENAME | Complete path to the input file |
Property name | Value | Description |
---|---|---|
debug |
true or false (default is false) |
Enables detailed tracing on this batch datastream. |
EnablePerformanceMeasurement |
true or false (default is false) |
Calculates the total time spent in the batch data-streams and the processRecord method, if you are using the GenericXDBatchStep. |
EnableDetailedPerformanceMeasurement |
true or false (default is false) |
Provides a more detailed breakdown of time spent in each method of the batch data-streams. |
file.encoding |
Encoding of the file |
For example, 8859_1 |
AppendJobldToFileName |
true or false (default is false) |
Appends the JobID to the file name before loading the file. |
append |
true or false (default is true) |
Determines whether to open the file in
append mode.
Important: During a restart, the file is
always opened in append mode.
|
public interface FileWriterPattern { /** * Invoked during step setup phase * @param props */ public void initialize(Properties props); /** * This method should write the given record * object to the bufferedwriter. * @param out * @param record * @throws IOException */ public void writeRecord(BufferedWriter out, Object record) throws IOException; /** * This method is invoked only once just after the bufferedwriter * is opened. It should be used to write any header information * @param out * @throws IOException */ public void writeHeader(BufferedWriter out) throws IOException; /** * This method can be optionally called during process step to explicity * initialize and write the header. * @param header * @throws IOException */ public void writeHeader(BufferedWriter out, Object header) throws IOException; }
<batch-data-streams> <bds> <logical-name>outputStream</logical-name> <props> <prop name="PATTERN_IMPL_CLASS" value="com.ibm.websphere.batch.samples.tests.bds.EchoWriter"/> <prop name="file.encoding" value="8859_1"/> <prop name="FILENAME" value="/opt/txlist.txt" /> <prop name="debug" value="true"/> </props> <impl-class>com.ibm.websphere.batch.devframework.datastreams.patterns.TextFileWriter</impl-class> </bds> </batch-data-streams>