如何在使用 spring 批处理框架在作业上处理文件之前检查文件内容是否有更改
How to check the content of a file if it has changes before processing it on a job using the spring batch framework
如何在使用 spring 批处理框架在作业上处理文件之前检查文件内容是否有更改。我的想法是将它与我写入该文件内容(文件的先前内容)的现有数据库进行比较。如果该文件的内容没有变化,避免再次处理它。我刚开始使用 spring 批处理框架。你能给我一些想法或示例代码吗?
参见Spring Integration Documentation。
您可以使用配置有 FileSystemPersistentAcceptOnceFileListFilter
的文件入站通道适配器。如果文件上的修改时间发生变化,文件将重新发送到消息通道。
然后,使用 Spring 批处理集成组件(例如 JobLaunchingGateway
)启动批处理作业来处理文件。
不过,您需要小心,不要在修改过程中选取文件。通常最好在处理后删除或重命名文件,让编写者创建一个临时文件并在写入后将其重命名为最终文件名。这将避免适配器 "seeing" 部分更新文件的问题。
如何在使用 spring 批处理框架在作业上处理文件之前检查文件内容是否有更改。我的想法是将它与我写入该文件内容(文件的先前内容)的现有数据库进行比较。如果该文件的内容没有变化,避免再次处理它。我刚开始使用 spring 批处理框架。你能给我一些想法或示例代码吗?
参见Spring Integration Documentation。
您可以使用配置有 FileSystemPersistentAcceptOnceFileListFilter
的文件入站通道适配器。如果文件上的修改时间发生变化,文件将重新发送到消息通道。
然后,使用 Spring 批处理集成组件(例如 JobLaunchingGateway
)启动批处理作业来处理文件。
不过,您需要小心,不要在修改过程中选取文件。通常最好在处理后删除或重命名文件,让编写者创建一个临时文件并在写入后将其重命名为最终文件名。这将避免适配器 "seeing" 部分更新文件的问题。