我有一个由入站适配器轮询的文件。 环境方面,我有多个节点轮询位于NAS位置的单个文件(对所有人都可见)并防止重复是真的。
令人惊讶的是,如果我重复放入一个文件,在重新启动服务器之前,没有任何节点会选择该文件。
假设spring集成用于将此信息保存在spring上下文中,如果错过了其他节点,则应该已经选择了这个。
有人可以解释这个标志或元数据的维护位置吗?
答案 0 :(得分:1)
见the documentation。您需要FileSystemPersistentAcceptOnceFileListFilter
共享MetadataStore
。
默认情况下,使用基于内存的AcceptOnceFileListFilter
,但不考虑文件修改时间。
AcceptOnceFileListFilter将其状态存储在内存中。如果您希望状态在系统重新启动后继续存在,请考虑使用FileSystemPersistentAcceptOnceFileListFilter。此过滤器将接受的文件名存储在MetadataStore实现中(第9.5节“元数据存储”)。此过滤器匹配文件名和修改时间。