List of usage examples for org.apache.commons.io.monitor FileAlterationObserver FileAlterationObserver
public FileAlterationObserver(File directory, FileFilter fileFilter)
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. ja v a 2 s . 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.puzzle.module.FileMonitorUtils.java
public static boolean monitorDircetory(String scanPath, long interval, FileFileFilter f, FileAlterationListenerAdaptor listener) { if (scanPath == null) { return false; }/* w ww. j a v a2 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 .j a va 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:com.enonic.cms.core.plugin.deploy.HotDeployTask.java
@PostConstruct public void start() { try {//w w w .j a v a 2 s. c o m 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:com.cloudera.gertrude.file.FileExperimentSpaceLoader.java
private FileAlterationMonitor getMonitor(long pollIntervalMillis) { FileAlterationObserver observer = new FileAlterationObserver(dataFile.getParentFile(), new FileFilter() { @Override// w ww . ja v a 2s . com public boolean accept(File file) { return dataFile.equals(file); } }); observer.addListener(new FileAlterationListenerAdaptor() { @Override public void onFileChange(File file) { file.setLastModified(System.currentTimeMillis()); reload(false); } }); FileAlterationMonitor m = new FileAlterationMonitor(pollIntervalMillis); m.addObserver(observer); return m; }
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);/*from ww w. ja v a2 s . co m*/ try { monitor.start(); } catch (Exception ex) { throw new MojoExecutionException("Failed to activate deploy log forwarder", ex); } }
From source file:ddf.security.pdp.realm.xacml.processor.PollingPolicyFinderModule.java
private void initialize(long pollingInterval) { LOGGER.debug("initializing polling: {}, every {}", xacmlPolicyDirectories, pollingInterval); monitor = new FileAlterationMonitor(pollingInterval * MULTIPLIER); for (String xacmlPolicyDirectory : xacmlPolicyDirectories) { File directoryToMonitor = new File(xacmlPolicyDirectory); FileAlterationObserver observer = new FileAlterationObserver(directoryToMonitor, getXmlFileFilter()); observer.addListener(this); monitor.addObserver(observer);//from w ww .j av a2 s. c om LOGGER.debug("Monitoring directory: " + directoryToMonitor); } }
From source file:ddf.security.pdp.xacml.processor.PollingPolicyFinderModule.java
private void initialize(Set<String> xacmlPolicyDirectories, long pollingInterval) { LOGGER.debug("initializing polling: {}, every {}", xacmlPolicyDirectories, pollingInterval); monitor = new FileAlterationMonitor(pollingInterval * MULTIPLIER); Iterator<String> iterator = xacmlPolicyDirectories.iterator(); while (iterator.hasNext()) { File directoryToMonitor = new File(iterator.next()); FileAlterationObserver observer = new FileAlterationObserver(directoryToMonitor, getXmlFileFilter()); observer.addListener(this); monitor.addObserver(observer);/*from www .j a v a 2 s . com*/ LOGGER.debug("Monitoring directory: " + directoryToMonitor); } }
From source file:com.carolinarollergirls.scoreboard.xml.MediaXmlDocumentManager.java
protected void startManagedDirectoryMonitor() { FileAlterationObserver faO = new FileAlterationObserver(managedDir, DirectoryFileFilter.INSTANCE); faO.addListener(new MediaDirAlterationListener()); managedDirectoryMonitor = new FileAlterationMonitor(INTERVAL, faO); try {/*from w w w.j a v a 2s .co m*/ managedDirectoryMonitor.start(); } catch (Exception e) { ScoreBoardManager.printMessage("MediaXmlDocumentManager for " + getMediaName() + " ERROR: Could not start managed directory monitor : " + e.getMessage()); } Iterator<File> types = Arrays.asList(managedDir.listFiles((FileFilter) DirectoryFileFilter.INSTANCE)) .iterator(); while (types.hasNext()) monitorType(types.next()); }
From source file:com.amazonaws.eclipse.core.accounts.profiles.SdkCredentialsFileContentMonitor.java
public SdkCredentialsFileContentMonitor(File target, long pollingIntervalInMillis, FileAlterationListener listener) { _target = target;//w w w . ja v a 2 s.c o m // IllegalArgumentException is expected if target.getParentFile == null _observer = new FileAlterationObserver(target.getParentFile(), new FileFilter() { public boolean accept(File file) { return file.equals(_target); } }); _monitor = new FileAlterationMonitor(pollingIntervalInMillis); _listener = listener; _observer.addListener(_listener); _monitor.addObserver(_observer); // Use daemon thread to avoid thread leakage _monitor.setThreadFactory(new ThreadFactory() { public Thread newThread(Runnable runnable) { Thread t = new Thread(runnable); t.setDaemon(true); t.setName("aws-credentials-file-monitor-thread"); return t; } }); }