Class FileWatchingPropertiesModel

  • All Implemented Interfaces:
    TeamCityProperties.Model

    public class FileWatchingPropertiesModel
    extends BasePropertiesModel
    Provides implementation of TeamCityProperties model that encapsulates check of user-provided file.

    Call to startFileWatching() enables file watcher. By default file is checked every 10 seconds. This class is not intended to be used from non-TeamCity core code.
    Use setFileWatcherSleepingPeriod(long) or "teamcity.internal.properties.reread.interval.ms" property to change the default value. The properties is checked in the loading/watching file.
    Performance note: all access methods are never blocked to read the value from the file. In case the file is removed, last used properties map is in effect.
    Also note that the errors are not reported to the log, because the log environment might be not initialized yet (it can require a system property for that =).

    Since:
    8.0
    • Field Detail

      • DEFAULT_PROPERTIES_FILE_NAME

        public static final java.lang.String DEFAULT_PROPERTIES_FILE_NAME
        See Also:
        Constant Field Values
    • Constructor Detail

      • FileWatchingPropertiesModel

        @Deprecated
        public FileWatchingPropertiesModel​(@NotNull
                                           java.io.File propertiesFile)
        Deprecated.
      • FileWatchingPropertiesModel

        protected FileWatchingPropertiesModel​(@NotNull
                                              java.io.File propertiesFile,
                                              boolean updateProperties)
    • Method Detail

      • getFileWatcher

        @NotNull
        public FileWatcher getFileWatcher()
      • setFileWatcherSleepingPeriod

        public void setFileWatcherSleepingPeriod​(long currentSleepingInterval)
      • stopFileWatching

        public void stopFileWatching()
      • startFileWatching

        public void startFileWatching()
      • forceReloadProperties

        public void forceReloadProperties()
      • getWatchingFilePath

        @NotNull
        public java.io.File getWatchingFilePath()
        Returns the full path to the internal.properties file. If properties file is not initialized yet, an empty string is returned.
        Returns:
        full path