Example usage for org.apache.commons.io.monitor FileAlterationObserver addListener

List of usage examples for org.apache.commons.io.monitor FileAlterationObserver addListener

Introduction

In this page you can find the example usage for org.apache.commons.io.monitor FileAlterationObserver addListener.

Prototype

public void addListener(final FileAlterationListener listener) 

Source Link

Document

Add a file system listener.

Usage

From source file:com.ctt.client.Client.java

public static void main(String[] args) throws Exception {

    Client.prop = new Properties();
    FileReader reader = new FileReader("../config.properties");
    Client.prop.load(reader);/*from   w  w  w  .jav a  2 s . c om*/

    String directory = Client.prop.getProperty("directory");

    FilesMonitor listener = new FilesMonitor();
    File folder = new File(directory);

    try {
        FileAlterationObserver observer = new FileAlterationObserver(directory);
        FileAlterationMonitor monitor = new FileAlterationMonitor(1000);
        observer.addListener(listener);
        monitor.addObserver(observer);
        monitor.start();
    } catch (Exception io) {
    }
}

From source file:com.ctt.sshlistener.Main.java

public static void main(String[] args) throws Exception {

    Main.prop = new Properties();
    FileReader reader = new FileReader("../config.properties");
    Main.prop.load(reader);// www. ja  v a  2 s .c  o m

    String directory = Main.prop.getProperty("directory");

    FilesMonitor listener = new FilesMonitor();
    File folder = new File(directory);

    try {
        FileAlterationObserver observer = new FileAlterationObserver(directory);
        FileAlterationMonitor monitor = new FileAlterationMonitor(10000);
        observer.addListener(listener);
        monitor.addObserver(observer);
        monitor.start();
    } catch (Exception io) {
    }
}

From source file:eu.optimis.ics.p2p.MyFileAlterationObserver.java

public static void main(String[] args) throws Exception {
    System.out.println("Present Working Directory is : " + System.getProperty("user.dir"));
    File directory = new File(System.getProperty("user.dir") + "/data");

    IOFileFilter files = FileFilterUtils.and(FileFilterUtils.fileFileFilter(),
            FileFilterUtils.suffixFileFilter(".txt"));

    FileAlterationObserver observer = new FileAlterationObserver(directory, files);
    observer.initialize();//from  w  w w. j  a v  a 2 s. c o  m

    // Add Listener
    MyFileAlterationListener listener = new MyFileAlterationListener();
    observer.addListener(listener);

    FileAlterationMonitor monitor = new FileAlterationMonitor(1000, observer);
    monitor.addObserver(observer);

    monitor.start();

}

From source file:com.puzzle.module.FileMonitorUtils.java

public static boolean monitorDircetory(String scanPath, long interval, FileFileFilter f,
        FileAlterationListenerAdaptor listener) {

    if (scanPath == null) {
        return false;
    }/*from w  w w  .ja v  a 2s.  co  m*/
    log.info("" + scanPath);
    FileAlterationObserver observer = new FileAlterationObserver(scanPath, f);

    observer.addListener(listener);

    FileAlterationMonitor fileMonitor = new FileAlterationMonitor(interval,
            new FileAlterationObserver[] { observer });
    try {
        fileMonitor.start();
    } catch (Exception ex) {
        ex.printStackTrace();
        return false;
    }

    return true;
}

From source file:io.fabric8.vertx.maven.plugin.FileFilterMain.java

private static FileAlterationMonitor fileWatcher(Set<Path> inclDirs) {
    FileAlterationMonitor monitor = new FileAlterationMonitor(1000);

    inclDirs.forEach(path -> {//from   w w  w  . j a v  a 2 s.c o m
        System.out.println("Adding Observer to " + path.toString());
        FileAlterationObserver observer = new FileAlterationObserver(path.toFile());
        observer.addListener(new FileAlterationListenerAdaptor() {
            @Override
            public void onFileCreate(File file) {
                System.out.println("File Create:" + file.toString());
            }

            @Override
            public void onFileChange(File file) {
                System.out.println("File Change:" + file.toString());
            }

            @Override
            public void onFileDelete(File file) {
                System.out.println("File Delete:" + file.toString());
            }

        });
        monitor.addObserver(observer);
    });

    return monitor;

}

From source file:com.prototype.utils.IndexChangeMonitorUtil.java

/**
 * The indexing monitoring thread//  w  w w.ja  v  a  2 s  . c  om
 * 
 * @param client
 *            StompMessageClient used for routing messages to a subscribed
 *            endpoint
 * 
 * @throws Exception
 */
public static FileAlterationMonitor monitorSolr(StompMessageClient client) throws Exception {
    File directory = new File(AppConstants.INDEX_FOLDER);

    // Create an instance of a FileAlterationObserver that is given a
    // SolrIndexFileFilter.
    FileAlterationObserver observer = new FileAlterationObserver(directory, new SolrIndexFileFilter());

    // Add a IndexChangeListenerImpl that has a reference to an instance of
    // a StompMessageClient. The listener is invoked when an index change event happens, 
    // and uses StompMessageClient to send a message to a Websocket topic endpoint.
    observer.addListener(new IndexChangeListenerImpl(client));

    FileAlterationMonitor monitor = new FileAlterationMonitor(AppConstants.POLL_INTERVAL);

    // The FileAlterationObserver will observe file alterations and then
    // invoke the IndexChangeListenerImpl
    monitor.addObserver(observer);

    // Start the FileAlterationMonitor thread
    monitor.start();

    LOGGER.info("monitorSolr() The FileAlterationMonitor thread was started");

    return monitor;
}

From source file:it.geosolutions.filesystemmonitor.neutral.monitorpolling.GBFileSystemMonitorJob.java

/**
 * Try to build the Observer using informations stored into the JobDataMap
 * //from  ww w.  j  a va  2s .c  o m
 * @note this method is not sync
 * @param jdm
 * @return
 * @throws JobExecutionException
 */
private static FileAlterationObserver buildObserver(JobDataMap jdm) throws JobExecutionException {

    FileAlterationObserver observer = null;
    final GBEventNotifier notifier;
    // first time build
    try {
        final File directory = new File(jdm.getString(FileSystemMonitorSPI.SOURCE_KEY));

        observer = new FileAlterationObserver(directory,
                new WildcardFileFilter(jdm.getString(FileSystemMonitorSPI.WILDCARD_KEY)));

        notifier = (GBEventNotifier) jdm.get(EVENT_NOTIFIER_KEY);

        final FileAlterationListener fal = new GBFileAlterationListener(notifier);

        observer.addListener(fal);
    } catch (ClassCastException cce) {
        // ClassCastException - if the identified object is not a String.
        throw exceptionPolicy(ExcPolicy.IMMEDIATELY,
                "The identified object is not a String.\n" + cce.getLocalizedMessage(), cce);

    } catch (NullPointerException npe) {
        // NullPointerException - If the pathname argument is null
        throw exceptionPolicy(ExcPolicy.IMMEDIATELY,
                "The pathname argument is null.\n" + npe.getLocalizedMessage(), npe);
    } catch (IllegalArgumentException iae) {
        // IllegalArgumentException - if the pattern is null
        throw exceptionPolicy(ExcPolicy.IMMEDIATELY, "The pattern is null.\n" + iae.getLocalizedMessage(), iae);
    } catch (Throwable e) {
        throw exceptionPolicy(ExcPolicy.IMMEDIATELY,
                "Probably the consumer cannot start.\n" + e.getLocalizedMessage(), e);
    }

    try {
        observer.initialize();
    } catch (Throwable t) {
        throw exceptionPolicy(ExcPolicy.IMMEDIATELY, "An error occurs.\n" + t.getLocalizedMessage(), t);
    }

    jdm.put(OBSERVER_KEY, observer);

    return observer;
}

From source file:jai.file.utils.FileMonitorTest.java

private void sample() {
    System.out.println("begin sample-> observer=" + FILE_TO_MONITOR);
    File directory = new File(FILE_TO_MONITOR);
    if (directory.exists()) {
        FileAlterationObserver observer = new FileAlterationObserver(directory);
        observer.addListener(new FAListener());

        long interval = 1000;
        FileAlterationMonitor monitor = new FileAlterationMonitor(interval);
        monitor.addObserver(observer);//from ww w  . j  a v a 2 s.com
        try {
            monitor.start();
            // monitor.stop();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    } else {
        System.out.println("Path " + FILE_TO_MONITOR + " does not exist.");
    }

}

From source file:com.enonic.cms.core.plugin.deploy.HotDeployTask.java

@PostConstruct
public void start() {
    try {//from  w w w  . j a  va 2 s  .com
        final JarFileFilter filter = new JarFileFilter();

        final FileAlterationObserver observer = new FileAlterationObserver(this.deployDir, filter);
        observer.addListener(new HotDeployListener(this.pluginManager));
        observer.checkAndNotify();

        this.monitor = new FileAlterationMonitor(this.scanPeriod, observer);
        this.monitor.start();

        LOG.info("Hot deploying plugins from [{}]. Scanning every [{}] ms.", this.deployDir.getAbsolutePath(),
                this.scanPeriod);
    } catch (Exception e) {
        LOG.error("cannot start monitor.", e);
    }
}

From source file:ch.ivyteam.ivy.maven.engine.deploy.FileLogForwarder.java

public synchronized void activate() throws MojoExecutionException {
    IOFileFilter logFilter = FileFilterUtils.and(FileFilterUtils.fileFileFilter(),
            FileFilterUtils.nameFileFilter(engineLog.getName()));
    FileAlterationObserver fileObserver = new FileAlterationObserver(engineLog.getParent(), logFilter);
    fileObserver.addListener(new LogModificationListener());
    monitor = new FileAlterationMonitor(100);
    monitor.addObserver(fileObserver);/*  ww  w  .  j a va2 s  .  co m*/
    try {
        monitor.start();
    } catch (Exception ex) {
        throw new MojoExecutionException("Failed to activate deploy log forwarder", ex);
    }
}