|
Spring Integration | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.integration.context.IntegrationObjectSupport org.springframework.integration.handler.AbstractMessageHandler org.springframework.integration.handler.AbstractReplyProducingMessageHandler org.springframework.integration.file.FileWritingMessageHandler
public class FileWritingMessageHandler
A MessageHandler
implementation that writes the Message payload to a
file. If the payload is a File object, it will copy the File to the specified
destination directory. If the payload is a byte array or String, it will write
it directly. Otherwise, the payload type is unsupported, and an Exception
will be thrown.
If the 'deleteSourceFiles' flag is set to true, the original Files will be
deleted. The default value for that flag is false. See the
setDeleteSourceFiles(boolean)
method javadoc for more information.
Other transformers may be useful to precede this handler. For example, any
Serializable object payload can be converted into a byte array by the
PayloadSerializingTransformer
.
Likewise, any Object can be converted to a String based on its
toString()
method by the
ObjectToStringTransformer
.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.springframework.integration.handler.AbstractReplyProducingMessageHandler |
---|
AbstractReplyProducingMessageHandler.RequestHandler |
Field Summary |
---|
Fields inherited from interface org.springframework.core.Ordered |
---|
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE |
Constructor Summary | |
---|---|
FileWritingMessageHandler(org.springframework.expression.Expression destinationDirectoryExpression)
Constructor which sets the destinationDirectoryExpression . |
|
FileWritingMessageHandler(java.io.File destinationDirectory)
Constructor which sets the destinationDirectoryExpression using
a LiteralExpression . |
Method Summary | |
---|---|
protected java.lang.String |
getTemporaryFileSuffix()
|
protected java.lang.Object |
handleRequestMessage(Message<?> requestMessage)
Subclasses must implement this method to handle the request Message. |
void |
onInit()
Subclasses may implement this for initialization logic. |
void |
setAutoCreateDirectory(boolean autoCreateDirectory)
Specify whether to create the destination directory automatically if it does not yet exist upon initialization. |
void |
setCharset(java.lang.String charset)
Set the charset name to use when writing a File from a String-based Message payload. |
void |
setDeleteSourceFiles(boolean deleteSourceFiles)
Specify whether to delete source Files after writing to the destination directory. |
void |
setExpectReply(boolean expectReply)
Specify whether a reply Message is expected. |
void |
setFileExistsMode(FileExistsMode fileExistsMode)
Will set the FileExistsMode that specifies what will happen in
case the destination exists. |
void |
setFileNameGenerator(FileNameGenerator fileNameGenerator)
Provide the FileNameGenerator strategy to use when generating
the destination file's name. |
void |
setTemporaryFileSuffix(java.lang.String temporaryFileSuffix)
By default, every file that is in the process of being transferred will appear in the file system with an additional suffix, which by default is ".writing". |
Methods inherited from class org.springframework.integration.handler.AbstractReplyProducingMessageHandler |
---|
getMessagingTemplate, handleMessageInternal, setAdviceChain, setBeanClassLoader, setChannelResolver, setOutputChannel, setRequiresReply, setSendTimeout, shouldCopyRequestHeaders |
Methods inherited from class org.springframework.integration.handler.AbstractMessageHandler |
---|
getComponentType, getOrder, handleMessage, setOrder, setShouldTrack |
Methods inherited from class org.springframework.integration.context.IntegrationObjectSupport |
---|
afterPropertiesSet, getBeanFactory, getComponentName, getConversionService, getTaskScheduler, setBeanFactory, setBeanName, setComponentName, setConversionService, setTaskScheduler, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.springframework.integration.context.NamedComponent |
---|
getComponentName |
Constructor Detail |
---|
public FileWritingMessageHandler(java.io.File destinationDirectory)
destinationDirectoryExpression
using
a LiteralExpression
.
destinationDirectory
- Must not be nullFileWritingMessageHandler(Expression)
public FileWritingMessageHandler(org.springframework.expression.Expression destinationDirectoryExpression)
destinationDirectoryExpression
.
destinationDirectoryExpression
- Must not be nullFileWritingMessageHandler(File)
Method Detail |
---|
public void setAutoCreateDirectory(boolean autoCreateDirectory)
public void setTemporaryFileSuffix(java.lang.String temporaryFileSuffix)
temporaryFileSuffix
- public void setFileExistsMode(FileExistsMode fileExistsMode)
FileExistsMode
that specifies what will happen in
case the destination exists. For example FileExistsMode.APPEND
instructs this handler to append data to the existing file rather then
creating a new file for each Message
.
If set to FileExistsMode.APPEND
, the adapter will also
create a real instance of the LockRegistry
to ensure that there
is no collisions when multiple threads are writing to the same file.
Otherwise the LockRegistry is set to PassThruLockRegistry
which
has no effect.
fileExistsMode
- Must not be nullpublic void setExpectReply(boolean expectReply)
protected java.lang.String getTemporaryFileSuffix()
public void setFileNameGenerator(FileNameGenerator fileNameGenerator)
FileNameGenerator
strategy to use when generating
the destination file's name.
public void setDeleteSourceFiles(boolean deleteSourceFiles)
FileHeaders.ORIGINAL_FILE
header value containing either a
File instance or a String representing the original file path.
public void setCharset(java.lang.String charset)
public final void onInit()
IntegrationObjectSupport
onInit
in class AbstractReplyProducingMessageHandler
protected java.lang.Object handleRequestMessage(Message<?> requestMessage)
AbstractReplyProducingMessageHandler
handleRequestMessage
in class AbstractReplyProducingMessageHandler
|
Spring Integration | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |