业务场景:1 各个省级气象中心会不定时向国家气象中心上传一些气象产品文件;
2 国家气象中心收到这些产品后会按照预订的规则发送给不同的客户。
需求:基于实时性的考虑,要求国家气象中心收到产品后立即发走,所以定时扫描这个方式不再考虑。
尝试过的解决方案:
1 使用JDK 的WatchService API来做:WatchService基本上是一个垃圾。重大缺点是监控事件的丢失。
2 Windows上使用JNotify:效果不错。问题:上传一个文件,监控Modify事件,会多次回调Modify对应的处理函数。
3 Linux使用INotify:基本上可以达到目的,与Windows相比,会多出不少事件。这和Linux文件系统有关,注意对中间文件的排除。
针对省级气象中心上传的气象产品文件,本文探讨了国家气象中心如何实现文件上传后的即时发送。文章对比分析了多种文件监控技术,包括JDK的WatchService API、Windows平台的JNotify及Linux下的INotify,指出了各自的优缺点。
3779

被折叠的 条评论
为什么被折叠?



