public class FileTransferringMessageHandler<F> extends AbstractMessageHandler
MessageHandler
implementation that transfers files to a remote server.Modifier and Type | Field and Description |
---|---|
protected RemoteFileTemplate<F> |
remoteFileTemplate |
EXPRESSION_PARSER, logger
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
Constructor and Description |
---|
FileTransferringMessageHandler(RemoteFileTemplate<F> remoteFileTemplate) |
FileTransferringMessageHandler(RemoteFileTemplate<F> remoteFileTemplate,
FileExistsMode mode) |
FileTransferringMessageHandler(SessionFactory<F> sessionFactory) |
Modifier and Type | Method and Description |
---|---|
protected void |
doChmod(RemoteFileTemplate<F> remoteFileTemplate,
String path,
int chmod)
Set the mode on the remote file after transfer; the default implementation does
nothing.
|
protected String |
getTemporaryFileSuffix() |
protected void |
handleMessageInternal(Message<?> message) |
boolean |
isChmodCapable() |
protected boolean |
isUseTemporaryFileName() |
protected void |
onInit()
Subclasses may implement this for initialization logic.
|
void |
setAutoCreateDirectory(boolean autoCreateDirectory) |
void |
setCharset(String charset) |
void |
setChmod(int chmod)
Set the file permissions after uploading, e.g.
|
void |
setChmodOctal(String chmod)
String setter for Spring XML convenience.
|
void |
setFileNameGenerator(FileNameGenerator fileNameGenerator) |
void |
setRemoteDirectoryExpression(Expression remoteDirectoryExpression) |
void |
setRemoteDirectoryExpressionString(String remoteDirectoryExpression)
Specify a remote directory path SpEL expression.
|
void |
setRemoteFileSeparator(String remoteFileSeparator) |
void |
setTemporaryFileSuffix(String temporaryFileSuffix) |
void |
setTemporaryRemoteDirectoryExpression(Expression temporaryRemoteDirectoryExpression)
Specify a remote directory path SpEL expression.
|
void |
setTemporaryRemoteDirectoryExpressionString(String temporaryRemoteDirectoryExpression)
Specify a remote directory path SpEL expression.
|
void |
setUseTemporaryFileName(boolean useTemporaryFileName) |
configureMetrics, getActiveCount, getActiveCountLong, getComponentType, getDuration, getErrorCount, getErrorCountLong, getHandleCount, getHandleCountLong, getManagedName, getManagedType, getMaxDuration, getMeanDuration, getMinDuration, getOrder, getStandardDeviationDuration, handleMessage, isCountsEnabled, isLoggingEnabled, isStatsEnabled, reset, setCountsEnabled, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, setStatsEnabled
afterPropertiesSet, extractTypeIfPossible, getApplicationContext, getApplicationContextId, getBeanFactory, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getComponentName
protected final RemoteFileTemplate<F> remoteFileTemplate
public FileTransferringMessageHandler(SessionFactory<F> sessionFactory)
public FileTransferringMessageHandler(RemoteFileTemplate<F> remoteFileTemplate)
public FileTransferringMessageHandler(RemoteFileTemplate<F> remoteFileTemplate, FileExistsMode mode)
public void setAutoCreateDirectory(boolean autoCreateDirectory)
autoCreateDirectory
- true to automatically create the direcotory.RemoteFileTemplate.setAutoCreateDirectory(boolean)
public void setRemoteFileSeparator(String remoteFileSeparator)
remoteFileSeparator
- the remote file separator.RemoteFileTemplate.setRemoteFileSeparator(String)
public void setRemoteDirectoryExpression(Expression remoteDirectoryExpression)
remoteDirectoryExpression
- the remote directory expressionRemoteFileTemplate.setRemoteDirectoryExpression(Expression)
public void setRemoteDirectoryExpressionString(String remoteDirectoryExpression)
remoteDirectoryExpression
- the remote directory expressionsetRemoteDirectoryExpression(Expression)
public void setTemporaryRemoteDirectoryExpression(Expression temporaryRemoteDirectoryExpression)
temporaryRemoteDirectoryExpression
- the temporary remote directory expressionRemoteFileTemplate.setTemporaryRemoteDirectoryExpression(Expression)
public void setTemporaryRemoteDirectoryExpressionString(String temporaryRemoteDirectoryExpression)
temporaryRemoteDirectoryExpression
- the temporary remote directory expressionsetTemporaryRemoteDirectoryExpression(Expression)
protected String getTemporaryFileSuffix()
protected boolean isUseTemporaryFileName()
public void setUseTemporaryFileName(boolean useTemporaryFileName)
useTemporaryFileName
- true to use a temporary file name.RemoteFileTemplate.setUseTemporaryFileName(boolean)
public void setFileNameGenerator(FileNameGenerator fileNameGenerator)
fileNameGenerator
- the file name generator.RemoteFileTemplate.setFileNameGenerator(FileNameGenerator)
public void setCharset(String charset)
charset
- the charset.RemoteFileTemplate.setCharset(String)
public void setTemporaryFileSuffix(String temporaryFileSuffix)
temporaryFileSuffix
- the temporary file suffix.RemoteFileTemplate.setTemporaryFileSuffix(String)
public void setChmodOctal(String chmod)
chmod
- permissions as an octal string e.g "600";setChmod(int)
public void setChmod(int chmod)
chmod
- the permissions.public boolean isChmodCapable()
protected void onInit() throws Exception
IntegrationObjectSupport
onInit
in class AbstractMessageHandler
Exception
- Any exception.protected void handleMessageInternal(Message<?> message) throws Exception
handleMessageInternal
in class AbstractMessageHandler
Exception
protected void doChmod(RemoteFileTemplate<F> remoteFileTemplate, String path, int chmod)
remoteFileTemplate
- the remote file template.path
- the path.chmod
- the chmod to set.