public abstract class AbstractInboundFileSynchronizingMessageSource<F> extends AbstractFetchLimitingMessageSource<FileSE> implements ManageableLifecycle
基本クラスは、リモートファイルシステムとローカルファイルシステムのディレクトリを起動時に作成するかどうかの構成をサポートします(特定のアダプターに対して「ディレクトリを作成する」とは、当然実装固有です)。
このクラスは、AbstractInboundFileSynchronizer の実装とペアで使用されます。シンクロナイザは、リモートファイルシステムに実際に接続し、新しい FileSE を配信する作業を処理する必要があります。
IntegrationManagement.ManagementOverridesEXPRESSION_PARSER, loggerMETER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME| コンストラクターと説明 |
|---|
AbstractInboundFileSynchronizingMessageSource(AbstractInboundFileSynchronizer<F> synchronizer) |
AbstractInboundFileSynchronizingMessageSource(AbstractInboundFileSynchronizer<F> synchronizer, ComparatorSE<FileSE> comparator) |
| 修飾子と型 | メソッドと説明 |
|---|---|
AbstractIntegrationMessageBuilder<FileSE> | doReceive(int maxFetchSize) ファイルソースからポーリングします。 |
AbstractInboundFileSynchronizer<F> | getSynchronizer() 基になるシンクロナイザを返します。 |
boolean | isRunning() |
protected void | onInit() |
void | setAutoCreateLocalDirectory(boolean autoCreateLocalDirectory) |
void | setLocalDirectory(FileSE localDirectory) |
void | setLocalFilter(FileListFilter<FileSE> localFileListFilter) 同期後にメッセージを生成するファイルを決定するために使用される FileListFilter。 |
void | setScanner(DirectoryScanner scanner) ローカル FileReadingMessageSource を切り替えて、カスタム DirectoryScanner を使用します。 |
void | setUseWatchService(boolean useWatchService) ローカル FileReadingMessageSource を内部 FileReadingMessageSource.WatchServiceDirectoryScanner を使用するように切り替えます。 |
void | start() |
void | stop() |
doReceive, getMaxFetchSize, setMaxFetchSizebuildMessage, destroy, getBeanName, getComponentName, getManagedName, getManagedType, getOverrides, isLoggingEnabled, receive, registerMetricsCaptor, setBeanName, setHeaderExpressions, setLoggingEnabled, setManagedName, setManagedTypeafterPropertiesSet, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, getBeanFactory, getEvaluationContext, getEvaluationContext, getMessageBuilderFactory, setBeanFactory, setConversionServicecloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEgetIntegrationPatternTypegetThisAsgetComponentTypepublic AbstractInboundFileSynchronizingMessageSource(AbstractInboundFileSynchronizer<F> synchronizer)
public AbstractInboundFileSynchronizingMessageSource(AbstractInboundFileSynchronizer<F> synchronizer, ComparatorSE<FileSE> comparator)
public void setAutoCreateLocalDirectory(boolean autoCreateLocalDirectory)
public void setLocalDirectory(FileSE localDirectory)
public void setLocalFilter(FileListFilter<FileSE> localFileListFilter)
FileListFilter。これは、同期処理中のファイル(AbstractInboundFileSynchronizer.getTemporaryFileSuffix() を持つファイル)へのアクセスを防止するフィルターと組み合わされます。 デフォルトは、FileSystemPersistentAcceptOnceFileListFilter で、重複したファイル名(現在の実行中に処理される)をフィルタリングします。
localFileListFilter - ローカルファイルリストフィルター。public void setUseWatchService(boolean useWatchService)
FileReadingMessageSource を内部 FileReadingMessageSource.WatchServiceDirectoryScanner を使用するように切り替えます。useWatchService - true で FileReadingMessageSource.WatchServiceDirectoryScanner に切り替える boolean フラグ。public void setScanner(DirectoryScanner scanner)
FileReadingMessageSource を切り替えて、カスタム DirectoryScanner を使用します。scanner - 使用する DirectoryScanner。public AbstractInboundFileSynchronizer<F> getSynchronizer()
protected void onInit()
AbstractExpressionEvaluator の onInit public void start()
Lifecycle の start ManageableLifecycle の start public void stop()
Lifecycle の stop ManageableLifecycle の stop public boolean isRunning()
Lifecycle の isRunning ManageableLifecycle の isRunning public final AbstractIntegrationMessageBuilder<FileSE> doReceive(int maxFetchSize)
AbstractFetchLimitingMessageSource<FileSE> の doReceive maxFetchSize - 取得するファイルの最大数