[NIO.2] 第三十八篇 监控服务 API_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > [NIO.2] 第三十八篇 监控服务 API

[NIO.2] 第三十八篇 监控服务 API

 2014/4/21 15:22:26  cucaracha  程序员俱乐部  我要评论(0)
  • 摘要:Java7NIO.2引入了线程安全的监控服务,用于监控对象的改变和事件。大多数时候,用于监控目录和文件内容的改变,例如对目录中的文件进行增删改的操作。你可能已经见过这样的情况。当你在使用文本编辑器编辑文件的时候,如果你在文本编辑器的外部改变了文件的内容,那么文本编辑器会察觉到这个改变,并及时通知你。这就是系统的文件改变通知机制。NIO.2开始提供了监控服务API来支持这个功能。监控服务API是底层的API。可以直接被使用也可以进行自定义。你甚至可基于它编写更高级的API。默认情况下
  • 标签:API 服务
Java 7 NIO.2 引入了线程安全的监控服务,用于监控对象的改变和事件。大多数时候,用于监控目录和文件内容的改变,例如对目录中的文件进行增删改的操作。你可能已经见过这样的情况。当你在使用文本编辑器编辑文件的时候,如果你在文本编辑器的外部改变了文件的内容,那么文本编辑器会察觉到这个改变,并及时通知你。这就是系统的文件改变通知机制。NIO.2 开始提供了监控服务 API 来支持这个功能。

监控服务 API 是底层的 API。可以直接被使用也可以进行自定义。你甚至可基于它编写更高级的 API。默认情况下,此 API 依赖底层系统提供的功能来监控文件的改变。它允许你注册一个或多个文件夹被监控,在被监控周期内,可接受不同类型的通知。当一个或多个通知事件被监控服务接收,它会将事件传递给单独的线程或线程池来处理。

从 NIO.2 开始,你不再需要通过轮循或其它内部的方式来监控文件改变。在之前的 Java 版本中,需要启动一个专门的线程来不断循环监控文件的改变。现在,不再需要这么做了,无论是运行在  Mac OS X、Linux、Unix、Windows 或其它操作系统,都可以依赖系统底层通知来监控文件改变。
监控服务 API

首先我们看看 API 中的 java.nio.file.WatchService 接口。针对不同的文件系统和操作系统,这个接口有不同的实现。这个接口和一些类结合使用可以实现文件系统监控能力,下面看看简述:

  •     可监控对象:可监控对象是指实现了  java.nio.file.Watchable 接口的类的实例。在 NIO.2 中最常见的可监控对象就是 Path 对象。
  •     事件类型:这是我们监控的事件列表。事件只有在被注册后才会触发通知。NIO.2 支持的标准事件在  java.nio.file.StandardWatchEventKinds 类中,其中包含了创建、删除和修改事件。这个类实现了 WatchEvent.Kind<T> 接口。
  •     事件修饰符:它限制了 Watchable 如何注册 WatchService。
  •     事件监视器:监视器是 WatchService 对象,用于监控文件系统的改变。WatchService 对象可通过 FileSystem 对象来创建。它总是在后台监控注册的 Path 对象。


文章来源:http://www.aptusource.org/2014/04/nio-2-watch-service-api/
上一篇: java交易清算处理实现 下一篇: 没有下一篇了!
发表评论
用户名: 匿名