List of usage examples for org.apache.commons.io.monitor FileAlterationMonitor FileAlterationMonitor
public FileAlterationMonitor(long interval, FileAlterationObserver... observers)
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();/* w w w .j a v a 2s .co 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 . j av 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.enonic.cms.core.plugin.deploy.HotDeployTask.java
@PostConstruct public void start() { try {// w ww. jav 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.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 {// www .j ava 2 s . c o 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.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 w w w. j av a2 s . c o m fileAlterationMonitor.start(); } catch (Exception e) { e.printStackTrace(); } }
From source file:com.mediaworx.intellij.opencmsplugin.opencms.OpenCmsConfiguration.java
/** * Creates a new OpenCmsConfiguration instance, prepares the XML helper for parsing configuration files, starts * a FileAlterationObserver used to handle changes to configuration files. * @param config the project level plugin configuration data *///from w ww. j ava2s.c om public OpenCmsConfiguration(OpenCmsPluginConfigurationData config) { this.config = config; File configurationFolder = new File(config.getWebappRoot() + CONFIGPATH); this.moduleConfigurationFile = new File(config.getWebappRoot() + CONFIGPATH + MODULECONFIGFILE); // Create an Observer for configuration changes FileAlterationObserver configurationChangeObserver = new FileAlterationObserver(configurationFolder); configurationChangeObserver.addListener(new ConfigurationAlterationListener()); configurationChangeMonitor = new FileAlterationMonitor(5000, configurationChangeObserver); try { xmlHelper = new XmlHelper(); } catch (Exception e) { LOG.warn("Exception during initialization of the module configuration: " + e); } }
From source file:com.carolinarollergirls.scoreboard.xml.MediaXmlDocumentManager.java
protected void monitorType(File typeDir) { String type = typeDir.getName(); synchronized (typeMonitors) { if (typeMonitors.containsKey(type)) return; update(editor.getElement(createXPathElement(), "Type", type)); FileAlterationObserver faO = new FileAlterationObserver(typeDir, mediaFileFilter); faO.addListener(new MediaTypeDirAlterationListener(type)); FileAlterationMonitor monitor = new FileAlterationMonitor(INTERVAL, faO); try {/*from ww w .j av a 2 s . co m*/ monitor.start(); } catch (Exception e) { ScoreBoardManager.printMessage("MediaXmlDocumentManager for " + getMediaName() + " ERROR: Could not start type " + type + " monitor : " + e.getMessage()); } typeMonitors.put(type, monitor); } initializeType(typeDir); }
From source file:net.roboconf.dm.templating.internal.templates.TemplateWatcher.java
/** * Constructor.//from w w w . j a va 2 s . c om * @param manager the templating manager, to which event handling is delegated. * @param templateDir the templates directory to watch. * @param pollInterval the poll interval. * @throws IOException if there is a problem watching the template directory. */ public TemplateWatcher(final TemplatingManager manager, final File templateDir, final long pollInterval) { this.templateDir = templateDir; // Register the custom helpers. this.handlebars.registerHelper(AllHelper.NAME, new AllHelper()); this.handlebars.registerHelper(IsKeyHelper.NAME, new IsKeyHelper()); // Pretty formatting this.handlebars.prettyPrint(true); // Create the observer, register this object as the event listener. FileFilter fileFilter = FileFilterUtils.or( FileFilterUtils.and(FileFilterUtils.fileFileFilter(), FileFilterUtils.suffixFileFilter(".tpl"), CanReadFileFilter.CAN_READ, new TemplateFileFilter(templateDir)), FileFilterUtils.and(FileFilterUtils.directoryFileFilter(), CanReadFileFilter.CAN_READ, new TemplateSubDirectoryFileFilter(templateDir))); FileAlterationObserver observer = new FileAlterationObserver(this.templateDir, fileFilter); observer.addListener(this); // Create the monitor. this.monitor = new FileAlterationMonitor(pollInterval, observer); this.monitor.setThreadFactory(THREAD_FACTORY); this.manager = manager; this.logger.fine("Template watcher is watching " + this.templateDir + " with an interval of " + pollInterval + " ms."); }
From source file:org.ow2.chameleon.core.activators.DirectoryMonitor.java
private FileAlterationMonitor createFileAlterationMonitor(File directory, long polling) { FileAlterationObserver observer = new FileAlterationObserver(directory, TrueFileFilter.INSTANCE); observer.addListener(new FileMonitor(directory)); LOGGER.debug("Creating file alteration monitor for " + directory.getAbsolutePath() + " with a polling period " + "of " + polling); final FileAlterationMonitor monitor = new FileAlterationMonitor(polling, observer); monitor.setThreadFactory(new MonitorThreadFactory(directory)); monitors.put(directory, monitor);//from ww w .ja v a2 s .c om return monitor; }
From source file:org.ow2.chameleon.fuchsia.discovery.filebased.monitor.DirectoryMonitor.java
public DirectoryMonitor(String directorypath, long polling, String classname) { this.directory = new File(directorypath); this.trackedClassName = classname; this.polling = polling; if (!directory.isDirectory()) { LOG.info("Monitored directory {} not existing - creating directory", directory.getAbsolutePath()); if (!this.directory.mkdirs()) { throw new IllegalStateException("Monitored directory doesn't exist and cannot be created."); }//from w ww. j a v a 2 s . c o m } // We observes all files. FileAlterationObserver observer = new FileAlterationObserver(directory, TrueFileFilter.INSTANCE); observer.checkAndNotify(); observer.addListener(new FileMonitor()); monitor = new FileAlterationMonitor(polling, observer); }