Class ReloadablePluginsImpl

    • Constructor Detail

      • ReloadablePluginsImpl

        public ReloadablePluginsImpl​(@NotNull
                                     PluginsStateProvider pluginsStateProvider)
    • Method Detail

      • canLoadPluginInRuntime

        @Nullable
        public String canLoadPluginInRuntime​(@NotNull
                                             PluginInfo pluginInfo)
        Specified by:
        canLoadPluginInRuntime in interface ReloadablePlugins
        Returns:
        null if this plugin could be loaded in runtime or reason why it's impossible. The plugin should not be loaded, 'teamcity.plugins.allowLoadingNewPluginsInRuntime=true' internal parameter should be set and all it's dependencies should be loaded.
      • allowLoadNotReloadable

        public boolean allowLoadNotReloadable()
        Specified by:
        allowLoadNotReloadable in interface ReloadablePlugins
        Returns:
        true if it's allowed to load a plugin which is not marked as reloadable in runtime
      • shouldLoadPluginAsUnloadable

        public boolean shouldLoadPluginAsUnloadable​(@NotNull
                                                    PluginInfo pluginInfo)
        Specified by:
        shouldLoadPluginAsUnloadable in interface ReloadablePlugins
        Returns:
        true if this plugin should be loaded as 'unloadable'. The plugin should use separate classloader, all its dependencies should use separate classloaders and the plugin should have 'allow-runtime-reload' property set in XML (or 'teamcity.plugins.forceAllPluginsReloadable=true' internal parameter should be set)