文件系统实时监控

业务场景:1 各个省级气象中心会不定时向国家气象中心上传一些气象产品文件;


                    2 国家气象中心收到这些产品后会按照预订的规则发送给不同的客户。


需求:基于实时性的考虑,要求国家气象中心收到产品后立即发走,所以定时扫描这个方式不再考虑。


尝试过的解决方案:

1 使用JDK 的WatchService API来做:WatchService基本上是一个垃圾。重大缺点是监控事件的丢失。


2 Windows上使用JNotify:效果不错。问题:上传一个文件,监控Modify事件,会多次回调Modify对应的处理函数。


3 Linux使用INotify:基本上可以达到目的,与Windows相比,会多出不少事件。这和Linux文件系统有关,注意对中间文件的排除。

你可能感兴趣的:(文件系统实时监控)