This should improve performance, notification
about changes would be more reliable.
I have preliminary support for Unix/FAM, needs to be developed further...
Reassigning to new module owner jskrivanek.
I don't understand what it means. Could you clarify?
Instead of polling for changes of filesystem by calling FileSystem.refresh(), the masterfs implementation could
observer the external changes itself: http://search.cpan.org/~mlehmann/Linux-Inotify2-1.2/Inotify2.pm and
- RFE means decline from pure java FS impl.
- future NIO2 effort for jdk could be considered as competing solution
NIO.2 would I think be the proper internal implementation. (A backport to JDK 6 may be available.)
So, let's wait for NIO.2.
It's in JDK 7 betas, so it could be supported at least for people running on JDK 7, offering an opportunity to test
robustness and possible send bug reports back to the JDK 7 team before the release. In my experiments, listening to
every file event created during a clean build of the "gmaven" source tree (consisting of many Maven submodules) and
printing each such event does not add a lot of overhead: maybe 3sec to a 30sec build. Listening only to FileObject
folders which exist in memory would be far cheaper.
Created attachment 78015 [details]
Increasing priority, because there is P2 defect in parsing/indexing depending on this.
Not in near term planes. Subject to change when JDK7 is released. Meanwhile we have home made "recursive listener" with "external changes" detection.
Home made "recursive listener" obviously has some issues (see e.g. #157627), so I'm raising priority to bring more attention to this.
Collecting some background info in wiki.
Work started in the core-main repository, branch fs_watches_26230
Merged so should be FIXED, right?
notifier for Solaris based on gamin or fam library:
implementation using FEN is still unstable
(In reply to comment #16)
> implementation using FEN is still unstable
You know there is an impl in JDK 7 to use as an example, right?
AFAIK it will use /dev/poll and I'm trying to use FEN
Are you sure? I'm no expert on this, but SolarisWatchService.java defines constants and structs matching what http://blogs.sun.com/praks/entry/file_events_notification describes.
(It's also worth noting that SolarisWatchService.c is very minimal and looks like it could easily be converted to JNA style.)
Thanks, I'll have a look!
Implemented. Few bugs remain.