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 (what 'creating a directory' means to the specific adapter is of course implementation specific).

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