Class AbstractInboundFileSynchronizingMessageSource<F>

Type Parameters:
F - the target system file type.
All Implemented Interfaces:
Aware, BeanFactoryAware, BeanNameAware, DisposableBean, InitializingBean, Lifecycle, MessageSource<File>, IntegrationPattern, NamedComponent, IntegrationInboundManagement, IntegrationManagement, ManageableLifecycle, MessageSourceManagement
Direct Known Subclasses:
FtpInboundFileSynchronizingMessageSource, SftpInboundFileSynchronizingMessageSource, SmbInboundFileSynchronizingMessageSource

public abstract class AbstractInboundFileSynchronizingMessageSource<F> extends AbstractFetchLimitingMessageSource<File> implements ManageableLifecycle
Factors out the common logic between the FTP and SFTP adapters. Designed to be extensible to handle adapters whose task it is to synchronize a remote file system with a local file system (NB: this does *NOT* handle pushing files TO the remote file system that exist uniquely in the local file system. It only handles pulling from the remote file system - as you would expect from an 'inbound' adapter).

The base class supports configuration of whether the remote file system and local file system's directories should be created on start.

This class is to be used as a pair with an implementation of AbstractInboundFileSynchronizer. The synchronizer must handle the work of actually connecting to the remote file system and delivering new Files.

Author:
Josh Long, Oleg Zhurakousky, Gary Russell, Artem Bilan, Venil Noronha