/** * Construct a monitor with the specified interval and set of observers. * * @param interval The amount of time in miliseconds to wait between * checks of the file system * @param observers The set of observers to add to the monitor. */ public FileChangeMonitor(long interval, FileChangeObserver... observers) { this(interval); if (observers != null) { for (FileChangeObserver observer : observers) { addObserver(observer); } } }
@Override public void addObserver(FileChangeObserver observer) { super.addObserver(observer); if(!running) { if(config.isReloadEnabled()) { log.trace("Start app file monitor at interval : " + interval); Try.throwUnchecked(this::start); } } }
monitor.addObserver(new FileChangeObserver(dir1, listener)); monitor.addObserver(new FileChangeObserver(dir2, listener));
monitor.addObserver(createObserver(dir, listener));