Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JNotify:始终监视目录_Java_Multithreading - Fatal编程技术网

Java JNotify:始终监视目录

Java JNotify:始终监视目录,java,multithreading,Java,Multithreading,在我的项目中,我使用目录中的一些文件。由于某些原因,我必须在项目启动时加载这些文件,如果对这些文件有操作,我必须(在HashMap中)重新加载它们 目前,我只是在使用的时候加载它们,但我想在加载应用程序的时候加载它们,让它们一直工作 我正在做一个网络项目。能帮我点忙吗? thnx除了自己手动轮询文件系统之外,JNotify(或类似的库)可能是目前最好的选择。有一些方法可以满足这一需求(请参阅链接页面上的WatchService部分) 编辑: 仔细阅读您的问题,我知道您并不是在寻找替代方案,而是在

在我的项目中,我使用目录中的一些文件。由于某些原因,我必须在项目启动时加载这些文件,如果对这些文件有操作,我必须(在HashMap中)重新加载它们 目前,我只是在使用的时候加载它们,但我想在加载应用程序的时候加载它们,让它们一直工作

我正在做一个网络项目。能帮我点忙吗?
thnx

除了自己手动轮询文件系统之外,JNotify(或类似的库)可能是目前最好的选择。有一些方法可以满足这一需求(请参阅链接页面上的WatchService部分)

编辑:
仔细阅读您的问题,我知道您并不是在寻找替代方案,而是在使用JNotify方面寻求帮助。见本节。您需要向正在监视的目录或文件中添加一个监视,并添加您自己的类作为更改事件的侦听器。您需要在代码中实现
JNotifyListener
,并处理您感兴趣的事件。

我使用了在应用程序开始时启动的Servlet。 我在init()方法中创建JNotify,因为它有监听器,所以它将监听我希望在Servlet的整个生命周期中监视的目录。
Thnx为您解答。

我使用JNotifyListener,一切正常。我想做的是,侦听器一直工作,就像在应用程序启动时启动的servlet中一样。你看到了吗??Thnx alot@taichimaro:通过在web.xml文件中设置servlet的
参数,您应该能够从servlet执行此操作。这将导致您的servlet的init()方法在服务器启动时运行,您可以从中启动守护进程线程来处理来自JNotify的通知。@taichimaro:看一看。线程类需要实现
JNotifyListener
,并处理文件更改时生成的事件。servlet的init()方法需要实例化并运行自定义线程。