Spring batch 如何在使用spring批处理框架对作业进行处理之前检查文件内容是否发生更改

Spring batch 如何在使用spring批处理框架对作业进行处理之前检查文件内容是否发生更改,spring-batch,spring-integration,Spring Batch,Spring Integration,如何在使用spring批处理框架在作业上处理文件之前检查文件内容是否有更改。我的想法是将它与我编写该文件内容(该文件以前的内容)的现有数据库进行比较。避免在文件内容没有更改时再次处理该文件。我是使用spring批处理框架的新手。您能给我一些想法或示例代码吗?请参阅 您可以使用文件入站通道适配器,该适配器配置有FileSystemTempersistentAcceptonCefileListFilter。如果文件的修改时间发生变化,文件将重新发送到消息通道 然后,使用Spring批处理集成组件(例

如何在使用spring批处理框架在作业上处理文件之前检查文件内容是否有更改。我的想法是将它与我编写该文件内容(该文件以前的内容)的现有数据库进行比较。避免在文件内容没有更改时再次处理该文件。我是使用spring批处理框架的新手。您能给我一些想法或示例代码吗?

请参阅

您可以使用文件入站通道适配器,该适配器配置有
FileSystemTempersistentAcceptonCefileListFilter
。如果文件的修改时间发生变化,文件将重新发送到消息通道

然后,使用Spring批处理集成组件(例如,
JobLaunchingGateway
)启动批处理作业以处理文件

但是,您需要小心,不要在修改文件的过程中拾取该文件。通常,最好在处理后删除或重命名文件,并让编写器创建一个临时文件,然后在写入后将其重命名为最终文件名。这将避免适配器“看到”部分更新的文件的问题