public abstract class AbstractRemoteFileStreamingMessageSource<F> extends AbstractFetchLimitingMessageSource<InputStream> implements BeanFactoryAware, InitializingBean
InputStream
payload
referencing a remote file.EXPRESSION_PARSER, logger
Modifier | Constructor and Description |
---|---|
protected |
AbstractRemoteFileStreamingMessageSource(RemoteFileTemplate<F> template,
Comparator<AbstractFileInfo<F>> comparator) |
Modifier and Type | Method and Description |
---|---|
void |
afterPropertiesSet() |
protected abstract List<AbstractFileInfo<F>> |
asFileInfoList(Collection<F> files) |
protected void |
doInit()
Subclasses can override to perform initialization - called from
InitializingBean.afterPropertiesSet() . |
protected Object |
doReceive()
Subclasses must implement this method.
|
protected Object |
doReceive(int maxFetchSize)
Subclasses must implement this method.
|
protected void |
doSetFilter(FileListFilter<F> filter) |
protected RemoteFileTemplate<F> |
getRemoteFileTemplate() |
protected AbstractFileInfo<F> |
poll() |
protected String |
remotePath(AbstractFileInfo<F> file) |
protected void |
rollbackFromFileToListEnd(List<F> filteredFiles,
F file) |
void |
setFileInfoJson(boolean fileInfoJson)
Set to false to add the
FileHeaders.REMOTE_FILE_INFO header to the raw FileInfo . |
void |
setFilter(FileListFilter<F> filter)
Set the filter to be applied to the remote files before transferring.
|
void |
setRemoteDirectory(String remoteDirectory)
Specify the full path to the remote directory.
|
void |
setRemoteDirectoryExpression(Expression remoteDirectoryExpression)
Specify an expression that evaluates to the full path to the remote directory.
|
void |
setRemoteFileSeparator(String remoteFileSeparator)
Set the remote file separator; default '/'
|
getMaxFetchSize, setMaxFetchSize
buildMessage, getComponentName, getManagedName, getManagedType, getMessageCount, getMessageCountLong, isCountsEnabled, isLoggingEnabled, receive, reset, setBeanName, setCountsEnabled, setHeaderExpressions, setLoggingEnabled, setManagedName, setManagedType
evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, getBeanFactory, getEvaluationContext, getEvaluationContext, getMessageBuilderFactory, setBeanFactory, setConversionService
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
setBeanFactory
getManagedName, getManagedType, getMessageCount, getMessageCountLong, setManagedName, setManagedType
isCountsEnabled, isLoggingEnabled, reset, setCountsEnabled, setLoggingEnabled
getComponentType
protected AbstractRemoteFileStreamingMessageSource(RemoteFileTemplate<F> template, Comparator<AbstractFileInfo<F>> comparator)
public void setRemoteDirectory(String remoteDirectory)
remoteDirectory
- The remote directory.public void setRemoteDirectoryExpression(Expression remoteDirectoryExpression)
remoteDirectoryExpression
- The remote directory expression.public void setRemoteFileSeparator(String remoteFileSeparator)
remoteFileSeparator
- the remote file separator.public void setFilter(FileListFilter<F> filter)
filter
- the file list filter.protected final void doSetFilter(FileListFilter<F> filter)
public void setFileInfoJson(boolean fileInfoJson)
FileHeaders.REMOTE_FILE_INFO
header to the raw FileInfo
.
Default is true meaning that common file information properties are provided
in that header as JSON.fileInfoJson
- false to set the raw object.protected RemoteFileTemplate<F> getRemoteFileTemplate()
public final void afterPropertiesSet()
afterPropertiesSet
in interface InitializingBean
afterPropertiesSet
in class AbstractExpressionEvaluator
protected void doInit()
InitializingBean.afterPropertiesSet()
.protected Object doReceive()
AbstractMessageSource
doReceive
in class AbstractFetchLimitingMessageSource<InputStream>
protected Object doReceive(int maxFetchSize)
AbstractFetchLimitingMessageSource
doReceive
in class AbstractFetchLimitingMessageSource<InputStream>
maxFetchSize
- the maximum number of messages to fetch if a fetch is
necessary.protected AbstractFileInfo<F> poll()
protected String remotePath(AbstractFileInfo<F> file)
protected abstract List<AbstractFileInfo<F>> asFileInfoList(Collection<F> files)