FileSystemManager manager = VFS.getManager(); FileObject file= manager.resolveFile("c:/MyFile.txt"); DefaultFileMonitor fm = new DefaultFileMonitor(new MyListener()); fm.setDelay(5000); fm.addFile(file); fm.start();
/** * Starts watching the file system for changes to trigger a bake. * * @param config JBakeConfiguration settings */ public void start(JBakeConfiguration config) { try { FileSystemManager fsMan = VFS.getManager(); FileObject listenPath = fsMan.resolveFile(config.getContentFolder().toURI()); FileObject templateListenPath = fsMan.resolveFile(config.getTemplateFolder().toURI()); FileObject assetPath = fsMan.resolveFile(config.getAssetFolder().toURI()); logger.info("Watching for (content, template, asset) changes in [{}]", config.getSourceFolder().getPath()); DefaultFileMonitor monitor = new DefaultFileMonitor(new CustomFSChangeListener(config)); monitor.setRecursive(true); monitor.addFile(listenPath); monitor.addFile(templateListenPath); monitor.addFile(assetPath); monitor.start(); } catch (FileSystemException e) { logger.error("Problems watching filesystem changes", e); } } }
monitor.addFile(file);
public AccumuloReloadingVFSClassLoader(String uris, FileSystemManager vfs, ReloadingClassLoader parent, long monitorDelay, boolean preDelegate) throws FileSystemException { this.uris = uris; this.parent = parent; this.preDelegate = preDelegate; ArrayList<FileObject> pathsToMonitor = new ArrayList<>(); files = AccumuloVFSClassLoader.resolve(vfs, uris, pathsToMonitor); if (preDelegate) cl = new VFSClassLoader(files, vfs, parent.getClassLoader()); else cl = new PostDelegatingVFSClassLoader(files, vfs, parent.getClassLoader()); monitor = new DefaultFileMonitor(this); monitor.setDelay(monitorDelay); monitor.setRecursive(false); for (FileObject file : pathsToMonitor) { monitor.addFile(file); log.debug("monitoring {}", file); } monitor.start(); }
FileSystemManager manager = VFS.getManager(); FileObject file= manager.resolveFile("Your File Path"); DefaultFileMonitor fm = new DefaultFileMonitor(new YourListener()); fm.addFile(file); fm.start();
FileSystemManager fsManager = VFS.getManager(); FileObject listendir = fsManager.resolveFile("/home/username/monitored/"); DefaultFileMonitor fm = new DefaultFileMonitor(new CustomFileListener()); fm.setRecursive(true); fm.addFile(listendir); fm.start();
private void startMonitor() { Logger logger = LogManager.getLogger(MyClass.class); try { FileSystemManager fileSystemManager = VFS.getManager(); FileObject dirToWatchFO = null; String path = "dir/you/want/to/watch"; File pathFile = new File(path); path = pathFile.getAbsolutePath(); dirToWatchFO = fileSystemManager.resolveFile(path); DefaultFileMonitor fileMonitor = new DefaultFileMonitor(new MyFancyFileListener()); fileMonitor.setRecursive(false); fileMonitor.addFile(dirToWatchFO); fileMonitor.start(); } catch (FileSystemException e) { logger.error("SOMETHING WENT WRONG!!", e); } }
public enum Logger { INSTANCE; DefaultFileMonitor fm = new DefaultFileMonitor(new CustomFileListener()); private FileObject file = null; private FileObject object = null; private Logger() { this.openFile(); try { FileSystemManager fsManager = VFS.getManager(); file = fsManager.resolveFile(this.getfileLocation()); object = fsManager.resolveFile("c:\test.txt"); } catch (FileSystemException e) { e.printStackTrace(); } fm.setDelay(1000); fm.addFile(file); fm.start(); }
public class PropertyManager implements FileListener{ @Override public void fileChanged(FileChangeEvent fileChangeEvent) { //Reload here into memory } } private register(STring fileName){ String pathToPropertyFile = new ClassPathResource(fileName).getFile().getPath(); FileSystemManager fsManager = VFS.getManager(); FileObject listenFile = fsManager.resolveFile(pathToPropertyFile); DefaultFileMonitor fm = new DefaultFileMonitor(this); fm.setRecursive(true); fm.addFile(listenFile); fm.setDelay(15000); fm.start(); } }
/** * Adds a file to be monitored. * * @param file The FileObject to add. */ private void doAddFile(final FileObject file) { synchronized (this.monitorMap) { if (this.monitorMap.get(file.getName()) == null) { this.monitorMap.put(file.getName(), new FileMonitorAgent(this, file)); try { if (this.listener != null) { file.getFileSystem().addListener(file, this.listener); } if (file.getType().hasChildren() && this.recursive) { // Traverse the children final FileObject[] children = file.getChildren(); for (final FileObject element : children) { this.addFile(element); // Add depth first } } } catch (final FileSystemException fse) { LOG.error(fse.getLocalizedMessage(), fse); } } } }
/** * set up the monitor so that when the file system data is changed, our singleton will be refreshed */ public void init() { for (String metadataTableName : this.metadataTableNames) { DefaultFileMonitor monitor = new DefaultFileMonitor(this); try { monitor.setDelay(delay); monitor.setRecursive(false); monitor.addFile(this.bridge.getFileObject(metadataTableName)); log.debug("monitoring " + this.bridge.getFileObject(metadataTableName)); monitor.start(); this.monitors.put(metadataTableName, monitor); } catch (Exception ex) { monitor.stop(); throw new RuntimeException("Failed to create TypeMetadataProvider with " + this.bridge.getUri() + this.bridge.getDir() + "/" + this.bridge.getFileName(), ex); } } }
public AccumuloReloadingVFSClassLoader(String uris, FileSystemManager vfs, ReloadingClassLoader parent, long monitorDelay, boolean preDelegate) throws FileSystemException { this.uris = uris; this.parent = parent; this.preDelegate = preDelegate; ArrayList<FileObject> pathsToMonitor = new ArrayList<>(); files = AccumuloVFSClassLoader.resolve(vfs, uris, pathsToMonitor); if (preDelegate) cl = new VFSClassLoader(files, vfs, parent.getClassLoader()); else cl = new PostDelegatingVFSClassLoader(files, vfs, parent.getClassLoader()); monitor = new DefaultFileMonitor(this); monitor.setDelay(monitorDelay); monitor.setRecursive(false); for (FileObject file : pathsToMonitor) { monitor.addFile(file); log.debug("monitoring " + file); } monitor.start(); }
public void testFileModified() throws Exception { writeToFile(testFile); final FileObject fileObj = fsManager.resolveFile(testFile.toURI().toURL().toString()); final DefaultFileMonitor monitor = new DefaultFileMonitor(new TestFileListener()); // TestFileListener manipulates changeStatus monitor.setDelay(100); monitor.addFile(fileObj); monitor.start(); try { // Need a long delay to insure the new timestamp doesn't truncate to be the same as // the current timestammp. Java only guarantees the timestamp will be to 1 second. Thread.sleep(1000); final long value = System.currentTimeMillis(); final boolean rc = testFile.setLastModified(value); assertTrue("setLastModified succeeded", rc); Thread.sleep(300); assertTrue("No event occurred", changeStatus != 0); assertTrue("Incorrect event", changeStatus == 1); } finally { monitor.stop(); } }
public void testFileModified() throws Exception { writeToFile(testFile); final FileObject fileObj = fsManager.resolveFile(testFile.toURI().toURL().toString()); final DefaultFileMonitor monitor = new DefaultFileMonitor(new TestFileListener()); // TestFileListener manipulates changeStatus monitor.setDelay(100); monitor.addFile(fileObj); monitor.start(); try { // Need a long delay to insure the new timestamp doesn't truncate to be the same as // the current timestammp. Java only guarantees the timestamp will be to 1 second. Thread.sleep(1000); final long value = System.currentTimeMillis(); final boolean rc = testFile.setLastModified(value); assertTrue("setLastModified succeeded", rc); Thread.sleep(300); assertTrue("No event occurred", changeStatus != 0); assertTrue("Incorrect event", changeStatus == 1); } finally { monitor.stop(); } }
public void testFileCreated() throws Exception { final FileObject fileObj = fsManager.resolveFile(testFile.toURI().toURL().toString()); final DefaultFileMonitor monitor = new DefaultFileMonitor(new TestFileListener()); // TestFileListener manipulates changeStatus monitor.setDelay(100); monitor.addFile(fileObj); monitor.start(); try { writeToFile(testFile); Thread.sleep(300); assertTrue("No event occurred", changeStatus != 0); assertTrue("Incorrect event", changeStatus == 3); } finally { monitor.stop(); } }
public void testFileDeleted() throws Exception { writeToFile(testFile); final FileObject fileObj = fsManager.resolveFile(testFile.toURI().toString()); final DefaultFileMonitor monitor = new DefaultFileMonitor(new TestFileListener()); // TestFileListener manipulates changeStatus monitor.setDelay(100); monitor.addFile(fileObj); monitor.start(); try { testFile.delete(); Thread.sleep(300); assertTrue("No event occurred", changeStatus != 0); assertTrue("Incorrect event", changeStatus == 2); } finally { monitor.stop(); } }
public void testFileDeleted() throws Exception { writeToFile(testFile); final FileObject fileObj = fsManager.resolveFile(testFile.toURI().toString()); final DefaultFileMonitor monitor = new DefaultFileMonitor(new TestFileListener()); // TestFileListener manipulates changeStatus monitor.setDelay(100); monitor.addFile(fileObj); monitor.start(); try { testFile.delete(); Thread.sleep(300); assertTrue("No event occurred", changeStatus != 0); assertTrue("Incorrect event", changeStatus == 2); } finally { monitor.stop(); } }
public void testFileCreated() throws Exception { final FileObject fileObj = fsManager.resolveFile(testFile.toURI().toURL().toString()); final DefaultFileMonitor monitor = new DefaultFileMonitor(new TestFileListener()); // TestFileListener manipulates changeStatus monitor.setDelay(100); monitor.addFile(fileObj); monitor.start(); try { writeToFile(testFile); Thread.sleep(300); assertTrue("No event occurred", changeStatus != 0); assertTrue("Incorrect event", changeStatus == 3); } finally { monitor.stop(); } }
public void testFileCreated() throws Exception { final FileObject fileObj = fsManager.resolveFile(testFile.toURI().toURL().toString()); final DefaultFileMonitor monitor = new DefaultFileMonitor(new TestFileListener()); // TestFileListener manipulates changeStatus monitor.setDelay(100); monitor.addFile(fileObj); monitor.start(); try { writeToFile(testFile); Thread.sleep(300); assertTrue("No event occurred", changeStatus != 0); assertTrue("Incorrect event", changeStatus == 3); } finally { monitor.stop(); } }
public void testFileDeleted() throws Exception { writeToFile(testFile); final FileObject fileObj = fsManager.resolveFile(testFile.toURI().toString()); final DefaultFileMonitor monitor = new DefaultFileMonitor(new TestFileListener()); // TestFileListener manipulates changeStatus monitor.setDelay(100); monitor.addFile(fileObj); monitor.start(); try { testFile.delete(); Thread.sleep(300); assertTrue("No event occurred", changeStatus != 0); assertTrue("Incorrect event", changeStatus == 2); } finally { monitor.stop(); } }