Class BambooPluginManagerClusterAware
java.lang.Object
com.atlassian.plugin.manager.DefaultPluginManager
com.atlassian.bamboo.plugin.BambooPluginManager
com.atlassian.bamboo.plugin.cluster.BambooPluginManagerClusterAware
- All Implemented Interfaces:
com.atlassian.plugin.PluginAccessor
,com.atlassian.plugin.PluginController
,com.atlassian.plugin.PluginSystemLifecycle
,com.atlassian.plugin.SplitStartupPluginSystemLifecycle
Decorates
BambooPluginManager
with awareness of cluster environment.
Main features: - Prevents concurrency problems via cluster locks - Manages situations where plugin events need to propagated in the cluster
- Since:
- 9.5
-
Nested Class Summary
Nested classes/interfaces inherited from class com.atlassian.plugin.manager.DefaultPluginManager
com.atlassian.plugin.manager.DefaultPluginManager.Builder<T extends com.atlassian.plugin.manager.DefaultPluginManager.Builder<?>>
Nested classes/interfaces inherited from interface com.atlassian.plugin.PluginAccessor
com.atlassian.plugin.PluginAccessor.Descriptor
-
Field Summary
-
Constructor Summary
ConstructorDescriptionBambooPluginManagerClusterAware
(com.atlassian.plugin.manager.PluginPersistentStateStore pluginStateStore, SystemPluginLoaderConfiguration loaderConfiguration, List<com.atlassian.plugin.loaders.PluginLoader> extraPluginLoaders, com.atlassian.plugin.ModuleDescriptorFactory moduleDescriptorFactory, com.atlassian.plugin.event.PluginEventManager pluginEventManager, File pluginDirectory, com.atlassian.plugin.metadata.PluginMetadataManager pluginMetadataManager, @NotNull PluginClusterAwareEventListener pluginClusterAwareEventListener, @NotNull BambooClusterLockService bambooClusterLockService) -
Method Summary
Modifier and TypeMethodDescriptionvoid
disablePlugin
(String key) void
enablePlugins
(String... keys) void
init()
installPlugins
(com.atlassian.plugin.PluginArtifact... pluginArtifacts) void
uninstall
(com.atlassian.plugin.Plugin plugin) Methods inherited from class com.atlassian.bamboo.plugin.BambooPluginManager
addPlugins, getPlugins, onContextDestroyed, onPluginEnabled
Methods inherited from class com.atlassian.plugin.manager.DefaultPluginManager
addDynamicModule, disablePluginInternal, disablePluginModule, disablePluginWithoutPersisting, earlyStartup, enablePluginModule, getClassLoader, getDynamicModules, getDynamicPluginClass, getDynamicResourceAsStream, getEnabledModuleDescriptorsByClass, getEnabledModulesByClass, getEnabledPlugin, getEnabledPluginModule, getEnabledPlugins, getLateStartupEnableRetryProperty, getMinimumPluginVersionsFileProperty, getModuleDescriptors, getModules, getPlugin, getPluginModule, getPluginRestartState, getPlugins, getStartupOverrideFileProperty, getState, isPluginEnabled, isPluginModuleEnabled, isSystemPlugin, lateStartup, newBuilder, notifyModuleDisabled, notifyModuleEnabled, notifyUninstallPlugin, onPluginContainerUnavailable, onPluginModuleAvailable, onPluginModuleUnavailable, onPluginRefresh, onUpdateRequiresRestartState, removeDynamicModule, removeStateFromStore, revertRestartRequiredChange, scanForNewPlugins, setPluginInstaller, shutdown, uninstallNoEvent, uninstallPlugins, unloadPlugin, updatePlugin, warmRestart
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.atlassian.plugin.PluginAccessor
getActiveModuleDescriptorsByClass, getClassLoader, getDynamicModules, getDynamicResourceAsStream, getEnabledModuleDescriptorsByClass, getEnabledModulesByClass, getEnabledPlugin, getEnabledPluginModule, getEnabledPlugins, getModuleDescriptors, getModuleDescriptors, getModules, getModules, getPlugin, getPluginModule, getPluginRestartState, getPlugins, getPlugins, isPluginEnabled, isPluginModuleEnabled, isSystemPlugin
Methods inherited from interface com.atlassian.plugin.PluginController
addDynamicModule, disablePluginModule, disablePluginWithoutPersisting, enablePluginModule, removeDynamicModule, revertRestartRequiredChange, scanForNewPlugins, uninstallPlugins
Methods inherited from interface com.atlassian.plugin.PluginSystemLifecycle
shutdown, warmRestart
-
Field Details
-
PLUGIN_SYSTEM_LOCK_TIMEOUT_SECONDS
public static final long PLUGIN_SYSTEM_LOCK_TIMEOUT_SECONDS
-
-
Constructor Details
-
BambooPluginManagerClusterAware
public BambooPluginManagerClusterAware(com.atlassian.plugin.manager.PluginPersistentStateStore pluginStateStore, SystemPluginLoaderConfiguration loaderConfiguration, List<com.atlassian.plugin.loaders.PluginLoader> extraPluginLoaders, com.atlassian.plugin.ModuleDescriptorFactory moduleDescriptorFactory, com.atlassian.plugin.event.PluginEventManager pluginEventManager, File pluginDirectory, com.atlassian.plugin.metadata.PluginMetadataManager pluginMetadataManager, @NotNull @NotNull PluginClusterAwareEventListener pluginClusterAwareEventListener, @NotNull @NotNull BambooClusterLockService bambooClusterLockService)
-
-
Method Details
-
init
public void init()- Specified by:
init
in interfacecom.atlassian.plugin.PluginSystemLifecycle
- Overrides:
init
in classcom.atlassian.plugin.manager.DefaultPluginManager
-
installPlugins
- Specified by:
installPlugins
in interfacecom.atlassian.plugin.PluginController
- Overrides:
installPlugins
in classcom.atlassian.plugin.manager.DefaultPluginManager
-
uninstall
public void uninstall(com.atlassian.plugin.Plugin plugin) - Specified by:
uninstall
in interfacecom.atlassian.plugin.PluginController
- Overrides:
uninstall
in classcom.atlassian.plugin.manager.DefaultPluginManager
-
enablePlugins
- Specified by:
enablePlugins
in interfacecom.atlassian.plugin.PluginController
- Overrides:
enablePlugins
in classcom.atlassian.plugin.manager.DefaultPluginManager
-
disablePlugin
- Specified by:
disablePlugin
in interfacecom.atlassian.plugin.PluginController
- Overrides:
disablePlugin
in classBambooPluginManager
-