You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2010/09/22 12:52:41 UTC

[jira] Resolved: (CAMEL-3146) FileComponent maybe use inotify interface implemented by jnotify

     [ https://issues.apache.org/activemq/browse/CAMEL-3146?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Ibsen resolved CAMEL-3146.
--------------------------------

         Assignee: Claus Ibsen
    Fix Version/s: 2.5.0
       Resolution: Won't Fix

> FileComponent maybe use inotify interface implemented by jnotify
> ----------------------------------------------------------------
>
>                 Key: CAMEL-3146
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-3146
>             Project: Apache Camel
>          Issue Type: Improvement
>          Components: camel-core
>    Affects Versions: 2.4.0
>            Reporter: Lars Gohlke
>            Assignee: Claus Ibsen
>            Priority: Minor
>             Fix For: 2.5.0
>
>   Original Estimate: 1 day
>  Remaining Estimate: 1 day
>
> What about using jnotify?
> JNotify java API
> JNotify is a java library that allow java application to listen to file system events, such as:
>     * File created
>     * File modified
>     * File renamed
>     * File deleted
> Supported platforms
>     * Windows (2000 or newer) Windows notes
>     * Linux with INofity support (2.6.14 or newer) Linux notes
>     * Mac OS X (10.5 or newer) Mac OS notes
> The fallback could be always the old behaviour, but in case it could be used it would be an really good improvement in terms of performance
> sample from http://jnotify.sourceforge.net/sample.html
> public void sample() throws Exception {
>     // path to watch
>     String path = System.getProperty("user.home");
>     // watch mask, specify events you care about,
>     // or JNotify.FILE_ANY for all events.
>     int mask = JNotify.FILE_CREATED  | 
>                JNotify.FILE_DELETED  | 
>                JNotify.FILE_MODIFIED | 
>                JNotify.FILE_RENAMED;
>     // watch subtree?
>     boolean watchSubtree = true;
>     // add actual watch
>     int watchID = JNotify.addWatch(path, mask, watchSubtree, new Listener());
>     // sleep a little, the application will exit if you
>     // don't (watching is asynchronous), depending on your
>     // application, this may not be required
>     Thread.sleep(1000000);
>     // to remove watch the watch
>     boolean res = JNotify.removeWatch(watchID);
>     if (!res) {
>       // invalid watch ID specified.
>     }
>   }
>   class Listener implements JNotifyListener {
>     public void fileRenamed(int wd, String rootPath, String oldName,
>         String newName) {
>       print("renamed " + rootPath + " : " + oldName + " -> " + newName);
>     }
>     public void fileModified(int wd, String rootPath, String name) {
>       print("modified " + rootPath + " : " + name);
>     }
>     public void fileDeleted(int wd, String rootPath, String name) {
>       print("deleted " + rootPath + " : " + name);
>     }
>     public void fileCreated(int wd, String rootPath, String name) {
>       print("created " + rootPath + " : " + name);
>     }
>     void print(String msg) {
>       System.err.println(msg);
>     }
>   }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.