in termsOfService-server/src/main/java/jetbrains/buildServer/termsOfService/TermsOfServiceConfig.java [28:53]
public TermsOfServiceConfig(@NotNull EventDispatcher<BuildServerListener> myEvents,
@NotNull ServerPaths serverPaths,
@NotNull FileWatcherFactory fileWatcherFactory) {
myConfigDir = new File(serverPaths.getConfigDir(), "termsOfService");
mySettingsFile = new File(myConfigDir, CONFIG_FILE);
int watchInterval = TeamCityProperties.getInteger("teamcity.termsOfService.configWatchInterval", 10000);
FilesWatcher filesWatcher = fileWatcherFactory.createManyFilesWatcher(
() -> FileUtil.listFiles(myConfigDir, (dir, name) -> true),
watchInterval);
filesWatcher.registerListener((newFiles, modified, removed) -> loadSettings());
myEvents.addListener(new BuildServerAdapter() {
@Override
public void serverStartup() {
extractDefaultConfig();
loadSettings();
filesWatcher.start();
}
@Override
public void serverShutdown() {
filesWatcher.stop();
}
});
}