WatchKey#PollEvents() returning more events than expected
Tony Childs
tony.childs at gmail.com
Thu Jul 10 06:02:04 PDT 2008
Thank you for your help. I don't know how I missed note about ENTRY_MODIFY
in the Javadoc.
Regarding my second issue, I am creating the file using Windows (XP)
Explorer (File-->New-->Text Document). I'm guessing this is an OS behavior
as well.
Thanks again,
Tony
On Thu, Jul 3, 2008 at 4:22 AM, Umashankar <Umashankar.Ningaiah at sun.com>
wrote:
> Hi Tony,
> Please see my answers inline .
>
> Subject:
> WatchKey#PollEvents() returning more events than expected From:
> Tony Childs <tony.childs at gmail.com> <tony.childs at gmail.com>
> Date:
> Wed, 02 Jul 2008 11:11:48 -0500 To:
> nio-discuss at openjdk.java.net
> I've been listening to the Google Talks presentation<http://video.google.com/videoplay?docid=-3975461488578314796>on NIO.2 and reading through the
> PDF <http://openjdk.java.net/projects/nio/presentations/TS-5686.pdf> that
> Alan posted. Upon testing code similar to that on page 22 of the PDF, I
> noticed unexpected (to me) behavior. When watching a directory and then
> adding a space to a text file and then saving it, WatchKey#PollEvents()
> returns two ENTRY_MODIFY events that seem identical but are actually copies
> of each other. Any idea why there would be two?
>
> Multiple ENTRY_MODIFY events are normal. This is platform specific. There
> is a wording in WatchService spec about this. I am pasting it here for your
> reference
> "many of the details on how events are detected, their timeliness, and
> whether their ordering is preserved is highly implementation specific. For
> example, when a file in a watched directory is modified then it may result
> in a single ENTRY_MODIFY<http://rain.ireland/%7Eab23780/private/jsr203/javadoc/java/nio/file/StandardWatchEventType.html#ENTRY_MODIFY>event in some implementations but several events in other implementations."
>
> Also, when I create a new file, in the watched directory, pollEvents()
> initially returns one ENTRY_CREATE event and then a subsequent call returns
> three more events: ENTRY_DELETE, ENTRY_CREATE, and ENTRY_MODIFY. I'm
> confused as to why there are so many events for a seemly simple operation?
>
> You should get only one ENTRY_CREATE event for this case. One reason why
> you are getting more events is, may be you are using an editor that creates
> a temp file and deletes it. You could print the context of the event and
> check the file which is causing the additional events.
> Herewith I am attaching a small program for your reference. Please run the
> same and see if you still get the additional events.
>
> Thanks,
> Umashankar
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/nio-discuss/attachments/20080710/69d89fc6/attachment.html
More information about the nio-discuss
mailing list