public abstract class AbstractRemoteFileStreamingMessageSource<F>
extends org.springframework.integration.endpoint.AbstractFetchLimitingMessageSource<java.io.InputStream>
implements org.springframework.integration.support.management.ManageableLifecycle
InputStream
payload
referencing a remote file.Modifier | Constructor and Description |
---|---|
protected |
AbstractRemoteFileStreamingMessageSource(RemoteFileTemplate<F> template,
java.util.Comparator<F> comparator) |
Modifier and Type | Method and Description |
---|---|
protected abstract java.util.List<AbstractFileInfo<F>> |
asFileInfoList(java.util.Collection<F> files) |
protected void |
doInit()
Subclasses can override to perform initialization - called from
InitializingBean.afterPropertiesSet() . |
protected java.lang.Object |
doReceive(int maxFetchSize) |
protected void |
doSetFilter(FileListFilter<F> filterToSet) |
protected RemoteFileTemplate<F> |
getRemoteFileTemplate() |
protected abstract boolean |
isDirectory(F file) |
boolean |
isRunning() |
void |
onInit() |
protected AbstractFileInfo<F> |
poll() |
protected java.lang.String |
remotePath(AbstractFileInfo<F> file) |
protected void |
rollbackFromFileToListEnd(java.util.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(java.lang.String remoteDirectory)
Specify the full path to the remote directory.
|
void |
setRemoteDirectoryExpression(org.springframework.expression.Expression remoteDirectoryExpression)
Specify an expression that evaluates to the full path to the remote directory.
|
void |
setRemoteFileSeparator(java.lang.String remoteFileSeparator)
Set the remote file separator; default '/'
|
void |
start() |
void |
stop() |
doReceive, getMaxFetchSize, setMaxFetchSize
buildMessage, destroy, getBeanName, getComponentName, getManagedName, getManagedType, getOverrides, isLoggingEnabled, receive, registerMetricsCaptor, setBeanName, setHeaderExpressions, setLoggingEnabled, setManagedName, setManagedType
afterPropertiesSet, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, getBeanFactory, getEvaluationContext, getEvaluationContext, getMessageBuilderFactory, setBeanFactory, setConversionService
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getIntegrationPatternType
protected AbstractRemoteFileStreamingMessageSource(RemoteFileTemplate<F> template, @Nullable java.util.Comparator<F> comparator)
public void setRemoteDirectory(java.lang.String remoteDirectory)
remoteDirectory
- The remote directory.public void setRemoteDirectoryExpression(org.springframework.expression.Expression remoteDirectoryExpression)
remoteDirectoryExpression
- The remote directory expression.public void setRemoteFileSeparator(java.lang.String remoteFileSeparator)
remoteFileSeparator
- the remote file separator.public void setFilter(FileListFilter<F> filter)
filter
- the file list filter.protected final void doSetFilter(FileListFilter<F> filterToSet)
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 onInit()
onInit
in class org.springframework.integration.util.AbstractExpressionEvaluator
protected void doInit()
InitializingBean.afterPropertiesSet()
.public void start()
start
in interface org.springframework.context.Lifecycle
start
in interface org.springframework.integration.support.management.ManageableLifecycle
public void stop()
stop
in interface org.springframework.context.Lifecycle
stop
in interface org.springframework.integration.support.management.ManageableLifecycle
public boolean isRunning()
isRunning
in interface org.springframework.context.Lifecycle
isRunning
in interface org.springframework.integration.support.management.ManageableLifecycle
protected java.lang.Object doReceive(int maxFetchSize)
doReceive
in class org.springframework.integration.endpoint.AbstractFetchLimitingMessageSource<java.io.InputStream>
protected AbstractFileInfo<F> poll()
protected java.lang.String remotePath(AbstractFileInfo<F> file)
protected void rollbackFromFileToListEnd(java.util.List<F> filteredFiles, F file)
protected abstract java.util.List<AbstractFileInfo<F>> asFileInfoList(java.util.Collection<F> files)
protected abstract boolean isDirectory(F file)