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