Example usage for org.apache.commons.io.monitor FileAlterationMonitor start

List of usage examples for org.apache.commons.io.monitor FileAlterationMonitor start

Introduction

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

Prototype

public synchronized void start() throws Exception 

Source Link

Document

Start monitoring.

Usage

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  ww w  . j  a v a  2s.  c  om*/

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

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

    monitor.start();

}

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 .j  av a2s  . c o m*/

    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);// ww  w.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:io.fabric8.vertx.maven.plugin.FileFilterMain.java

public static void main(String[] args) {

    Commandline commandline = new Commandline();
    commandline.setExecutable("java");
    commandline.createArg().setValue("io.vertx.core.Launcher");
    commandline.createArg().setValue("--redeploy=target/**/*");

    System.out.println(commandline);/*  w w w .ja  v a  2 s.  c om*/

    File baseDir = new File("/Users/kameshs/git/fabric8io/vertx-maven-plugin/samples/vertx-demo");
    List<String> includes = new ArrayList<>();
    includes.add("src/**/*.java");
    //FileAlterationMonitor monitor  = null;
    try {

        Set<Path> inclDirs = new HashSet<>();

        includes.forEach(s -> {
            try {

                if (s.startsWith("**")) {
                    Path rootPath = Paths.get(baseDir.toString());
                    if (Files.exists(rootPath)) {
                        File[] dirs = rootPath.toFile().listFiles((dir, name) -> dir.isDirectory());
                        Objects.requireNonNull(dirs);
                        Stream.of(dirs).forEach(f -> inclDirs.add(Paths.get(f.toString())));
                    }
                } else if (s.contains("**")) {
                    String root = s.substring(0, s.indexOf("/**"));
                    Path rootPath = Paths.get(baseDir.toString(), root);
                    if (Files.exists(rootPath)) {
                        File[] dirs = rootPath.toFile().listFiles((dir, name) -> dir.isDirectory());
                        Objects.requireNonNull(dirs);
                        Stream.of(dirs).forEach(f -> inclDirs.add(Paths.get(f.toString())));
                    }
                }

                List<Path> dirs = FileUtils.getFileAndDirectoryNames(baseDir, s, null, true, true, true, true)
                        .stream().map(FileUtils::dirname).map(Paths::get)
                        .filter(p -> Files.exists(p) && Files.isDirectory(p)).collect(Collectors.toList());

                inclDirs.addAll(dirs);

            } catch (Exception e) {
                e.printStackTrace();
            }
        });

        FileAlterationMonitor monitor = fileWatcher(inclDirs);

        Runnable monitorTask = () -> {
            try {
                monitor.start();
            } catch (Exception e) {
                e.printStackTrace();
            }
        };

        monitorTask.run();

    } catch (Exception e) {
        e.printStackTrace();
    }

}

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

public static void main(String[] args) {

    Commandline commandline = new Commandline();
    commandline.setExecutable("java");
    commandline.createArg().setValue("io.vertx.core.Launcher");
    commandline.createArg().setValue("--redeploy=target/**/*");

    System.out.println(commandline);/*  ww w . ja v a2s  .c om*/

    File baseDir = new File("/Users/kameshs/git/reactiverse/vertx-maven-plugin/samples/vertx-demo");
    List<String> includes = new ArrayList<>();
    includes.add("src/**/*.java");
    //FileAlterationMonitor monitor  = null;
    try {

        Set<Path> inclDirs = new HashSet<>();

        includes.forEach(s -> {
            try {

                if (s.startsWith("**")) {
                    Path rootPath = Paths.get(baseDir.toString());
                    if (Files.exists(rootPath)) {
                        File[] dirs = rootPath.toFile().listFiles((dir, name) -> dir.isDirectory());
                        Objects.requireNonNull(dirs);
                        Stream.of(dirs).forEach(f -> inclDirs.add(Paths.get(f.toString())));
                    }
                } else if (s.contains("**")) {
                    String root = s.substring(0, s.indexOf("/**"));
                    Path rootPath = Paths.get(baseDir.toString(), root);
                    if (Files.exists(rootPath)) {
                        File[] dirs = rootPath.toFile().listFiles((dir, name) -> dir.isDirectory());
                        Objects.requireNonNull(dirs);
                        Stream.of(dirs).forEach(f -> inclDirs.add(Paths.get(f.toString())));
                    }
                }

                List<Path> dirs = FileUtils.getFileAndDirectoryNames(baseDir, s, null, true, true, true, true)
                        .stream().map(FileUtils::dirname).map(Paths::get)
                        .filter(p -> Files.exists(p) && Files.isDirectory(p)).collect(Collectors.toList());

                inclDirs.addAll(dirs);

            } catch (Exception e) {
                e.printStackTrace();
            }
        });

        FileAlterationMonitor monitor = fileWatcher(inclDirs);

        Runnable monitorTask = () -> {
            try {
                monitor.start();
            } catch (Exception e) {
                e.printStackTrace();
            }
        };

        monitorTask.run();

    } catch (Exception e) {
        e.printStackTrace();
    }

}

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 . j  a  v  a  2 s . 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:com.prototype.utils.IndexChangeMonitorUtil.java

/**
 * The indexing monitoring thread/*from w w  w  . ja  v a 2s. co m*/
 * 
 * @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:com.cloudera.gertrude.file.FileExperimentSpaceLoader.java

public FileExperimentSpaceLoader(File dataFile, long pollIntervalMillis) throws Exception {
    Preconditions.checkArgument(!dataFile.isDirectory(), "Data file cannot be a directory");
    this.dataFile = dataFile;
    FileAlterationMonitor monitor = getMonitor(pollIntervalMillis);
    monitor.start();
}

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 w  ww.j a  va  2  s .  c  om
        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.hj.blog.common.utils.SensitiveWordMonitor.java

public void monitor(String directory, int interval) {
    FileAlterationObserver fileAlterationObserver = new FileAlterationObserver(directory,
            FileFilterUtils.and(FileFilterUtils.nameFileFilter(SENSITIVE_WORD_FILE_NAME)), null);
    fileAlterationObserver.addListener(this);
    FileAlterationMonitor fileAlterationMonitor = new FileAlterationMonitor(interval, fileAlterationObserver);

    try {/*from ww w.j a  v a 2s .com*/
        fileAlterationMonitor.start();
    } catch (Exception e) {
        e.printStackTrace();
    }
}