/** {@inheritDoc} */ @Override public void postInit() { super.postInit(); synchronized (lock) { if (fileAlterationMonitor == null) { fileWatchListener = new FileWatchListener(ConfigurationUtilities.getInstance()); fileAlterationMonitor = new FileAlterationMonitor(); File confDir = getFilesystemConfiguration().getConfigurationDirectory(); FileAlterationObserver observer = new FileAlterationObserver(confDir); observer.addListener(getFileWatchListener()); fileAlterationMonitor.addObserver(observer); try { fileAlterationMonitor.start(); } catch (Exception exc) { logger.error("Could not start file monitor", exc); } } } }
/** * 将fileObserver加入到alterationMonitor中 * * @param fileObserver */ private void addObserver(SeafileObserver fileObserver) { alterationMonitor.addObserver(fileObserver.getAlterationObserver()); }