Spring 集成:根据创建日期/时间轮询文件

Spring Integration: poll files based on creation date / time

使用 Spring 集成,我需要从目录中获取输入消息。这是一个 CIFS / Samba 共享文件夹,我只有只读访问权限,因此我需要找到一种方法来只提取新文件而不需要删除它们。默认的 AcceptOnceFileListFilter 行为仅在我不重新启动我的容器时才有效,所以这并不理想。

所以我在想的是如何让文件轮询器只选取 X 分钟前创建的文件。我仍然会拾取重复的文件,但时间跨度要短得多(我可以处理)。

我想我需要做的是只对 return X 分钟前创建的文件实施我自己的 FileListFilter。只是想问问周围是否已经有一个实现,无论是在默认的 Spring 过滤器中还是在其他任何地方。也非常欢迎任何更好的建议!

谢谢 黄

没有这样的 FileListFilter 开箱即用的实现,但是您可以自己简单地实现它。该解决方案可以扩展 AcceptOnceFileListFilter.

作为更好的解决方案,我们有一个 persistent 实现,它允许在应用程序重新启动期间保持所选文件的状态。是FileSystemPersistentAcceptOnceFileListFilter