public class FileOutputStreamResource
extends org.smooks.io.AbstractOutputStreamResource
AbstractOutputStreamResource implementation
that handles file output streams.
Example configuration:
<resource-config selector="order-item">
<resource>org.smooks.io.file.FileOutputStreamResource</resource>
<param name="resourceName">resourceName</param>
<param name="fileNamePattern">orderitem-${order.orderId}-${order.orderItem.itemId}.xml</param>
<param name="destinationDirectoryPattern">order-${order.orderId}</param>
<param name="listFileNamePattern">orderitems-${order.orderId}.lst</param>
</resource-config>
Optional properties (default values shown):
<param name="highWaterMark">200</param>
<param name="highWaterMarkTimeout">60000</param>
Description of configuration properties:
When does a new file get created?
As soon as an object tries to retrieve the Writer or the OutputStream from this OutputStreamResource and
the Stream isn't open then a new file is created. Using the 'closeOnCondition' property you can control
when a stream get closed. As long as the stream isn't closed, the same file is used to write too. At then
end of the filter process the stream always gets closed. Nothing stays open.
| Modifier and Type | Class and Description |
|---|---|
static class |
FileOutputStreamResource.SplitFilenameFilter |
| Constructor and Description |
|---|
FileOutputStreamResource() |
public FileOutputStreamResource setFileNamePattern(String fileNamePattern)
public FileOutputStreamResource setDestinationDirectoryPattern(String destinationDirectoryPattern)
public FileOutputStreamResource setListFileNamePattern(String listFileNamePattern)
public FileOutputStreamResource setListFileNamePatternCtxKey(String listFileNamePatternCtxKey)
public FileOutputStreamResource setHighWaterMark(int highWaterMark)
public FileOutputStreamResource setHighWaterMarkTimeout(long highWaterMarkTimeout)
public FileOutputStreamResource setHighWaterMarkPollFrequency(long highWaterMarkPollFrequency)
public void setCloseOnCondition(String closeOnCondition)
public FileOutputStreamResource setAppend(boolean append)
@PostConstruct public void initialize() throws org.smooks.api.SmooksConfigException
org.smooks.api.SmooksConfigExceptionpublic FileOutputStream getOutputStream(org.smooks.api.ExecutionContext executionContext) throws SmooksRoutingException, IOException
getOutputStream in class org.smooks.io.AbstractOutputStreamResourceSmooksRoutingExceptionIOExceptionprotected boolean closeCondition(org.smooks.api.ExecutionContext executionContext)
closeCondition in class org.smooks.io.AbstractOutputStreamResourceprotected void closeResource(org.smooks.api.ExecutionContext executionContext)
closeResource in class org.smooks.io.AbstractOutputStreamResourcepublic void executeExecutionLifecycleCleanup(org.smooks.api.ExecutionContext executionContext)
executeExecutionLifecycleCleanup in interface org.smooks.api.lifecycle.ExecutionLifecycleCleanableexecuteExecutionLifecycleCleanup in class org.smooks.io.AbstractOutputStreamResourceCopyright © 2022. All rights reserved.