Class ReloadablePluginsImpl
- java.lang.Object
-
- jetbrains.buildServer.plugins.impl.ReloadablePluginsImpl
-
- All Implemented Interfaces:
ReloadablePlugins
public class ReloadablePluginsImpl extends Object implements ReloadablePlugins
-
-
Constructor Summary
Constructors Constructor Description ReloadablePluginsImpl(PluginsStateProvider pluginsStateProvider)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
allowLoadNotReloadable()
String
canLoadPluginInRuntime(PluginInfo pluginInfo)
String
canReloadPluginInRuntime(PluginInfo from, PluginInfo to)
String
canUnloadPluginInRuntime(PluginInfo pluginInfo)
boolean
shouldLoadPluginAsUnloadable(PluginInfo pluginInfo)
-
-
-
Constructor Detail
-
ReloadablePluginsImpl
public ReloadablePluginsImpl(@NotNull PluginsStateProvider pluginsStateProvider)
-
-
Method Detail
-
canUnloadPluginInRuntime
@Nullable public String canUnloadPluginInRuntime(@NotNull PluginInfo pluginInfo)
- Specified by:
canUnloadPluginInRuntime
in interfaceReloadablePlugins
- Returns:
- null if this plugin could be unloaded in runtime or reason why it's impossible. The plugin should be loaded as unloadable
ReloadablePlugins.shouldLoadPluginAsUnloadable(PluginInfo)
, 'teamcity.plugins.allowUnloadPluginsInRuntime=true' (default value) should be set and there should be no loaded dependants
-
canReloadPluginInRuntime
@Nullable public String canReloadPluginInRuntime(@NotNull PluginInfo from, @NotNull PluginInfo to)
- Specified by:
canReloadPluginInRuntime
in interfaceReloadablePlugins
-
canLoadPluginInRuntime
@Nullable public String canLoadPluginInRuntime(@NotNull PluginInfo pluginInfo)
- Specified by:
canLoadPluginInRuntime
in interfaceReloadablePlugins
- 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 interfaceReloadablePlugins
- 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 interfaceReloadablePlugins
- 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)
-
-