我们有 Spring4 和 Spring Batch 3,我们的应用程序使用 CSV 文件作为输入文件。目前,我们使用 CommandLineJobRunner 和参数(包括要处理的文件的名称)从命令行手动启动作业。
我想在输入文件到达受监视目录时立即开始异步处理作业。我们怎样才能做到这一点?
您可以使用java.nio.file.WatchService
监视文件的目录。
文件出现后,您可以开始(或启动异步处理作业)实际处理。
您还可以使用FileReadingMessageSource.WatchServiceDirectoryScanner
来自 Spring 集成 (https://docs.spring.io/spring-integration/reference/html/files.html#watch-service-directory-scanner https://docs.spring.io/spring-integration/reference/html/files.html#watch-service-directory-scanner)
比较 Spring Batch 发行说明https://github.com/spring-projects/spring-batch/releases https://github.com/spring-projects/spring-batch/releases到 Spring 集成https://github.com/spring-projects/spring-integration/releases https://github.com/spring-projects/spring-integration/releases看起来 Spring Integration 发布得更频繁。它还具有更多功能和集成点。
在这种情况下,如果您只需要监视文件的目录,那么引入 Spring Integration 似乎有点过分了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)