FileReadingMessageSource 与元数据存储
FileReadingMessageSource vs Metadatastore
我想知道如何防止特定 DSL 集成流的多个实例同时使用相同的文件。我在流程的开头使用 FileReadingMessageSource 所以在这种情况下它是我的“文件观察器”......将是其中之一 Metadatastore 一个选项?如果是这样,我怎样才能将它附加到流程中?读取文件后我有一个 GenericSelector 以过滤掉一些不需要的文件名。
FileReadingMessageSource
默认使用 AcceptOnceFileListFilter
来防止重复读取。但它在内存中。因此,如果您希望在应用程序重新启动后仍然存在并且不想看到已处理的文件,您可以自由配置 FileReadingMessageSource
与 FileSystemPersistentAcceptOnceFileListFilter
提供一些共享 ConcurrentMetadataStore
实施。
您也可以将此过滤器与 RegexPatternFileListFilter
等其他过滤器组合在一起。
在文档中查看有关 ChainFileListFilter
的更多信息:https://docs.spring.io/spring-integration/reference/html/file.html#file-reading
我想知道如何防止特定 DSL 集成流的多个实例同时使用相同的文件。我在流程的开头使用 FileReadingMessageSource 所以在这种情况下它是我的“文件观察器”......将是其中之一 Metadatastore 一个选项?如果是这样,我怎样才能将它附加到流程中?读取文件后我有一个 GenericSelector 以过滤掉一些不需要的文件名。
FileReadingMessageSource
默认使用 AcceptOnceFileListFilter
来防止重复读取。但它在内存中。因此,如果您希望在应用程序重新启动后仍然存在并且不想看到已处理的文件,您可以自由配置 FileReadingMessageSource
与 FileSystemPersistentAcceptOnceFileListFilter
提供一些共享 ConcurrentMetadataStore
实施。
您也可以将此过滤器与 RegexPatternFileListFilter
等其他过滤器组合在一起。
在文档中查看有关 ChainFileListFilter
的更多信息:https://docs.spring.io/spring-integration/reference/html/file.html#file-reading