【发布时间】:2016-10-24 09:47:12
【问题描述】:
我有一个 spring 批处理集成,其中多个服务器轮询单个文件目录。这会导致一个文件可以被多个文件处理的问题。一旦服务器得到它,我试图将nio-lock 添加到文件中,但这会锁定文件以进行处理,因此它无法读取文件的内容。
是否有针对此问题的弹簧批处理/集成解决方案,或者是否有办法在文件被节点拾取后立即重命名文件?
【问题讨论】:
标签: spring spring-integration spring-batch
我有一个 spring 批处理集成,其中多个服务器轮询单个文件目录。这会导致一个文件可以被多个文件处理的问题。一旦服务器得到它,我试图将nio-lock 添加到文件中,但这会锁定文件以进行处理,因此它无法读取文件的内容。
是否有针对此问题的弹簧批处理/集成解决方案,或者是否有办法在文件被节点拾取后立即重命名文件?
【问题讨论】:
标签: spring spring-integration spring-batch
考虑将FileSystemPersistentAcceptOnceFileListFilter 与共享MetadataStore 一起使用:http://docs.spring.io/spring-integration/reference/html/system-management-chapter.html#metadata-store
因此,您的应用程序只有一个实例能够获取文件。
即使我们找到了nio-lock 的解决方案,您也应该理解锁定的意思是“在释放之前不要触摸”。因此,当一个实例完成其工作时,另一个实例已准备好接收文件。我想这不是你的目标。
【讨论】: