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

public class BambooPluginManagerClusterAware extends BambooPluginManager
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

    Fields
    Modifier and Type
    Field
    Description
    static final long
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    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 PluginClusterAwareEventListener pluginClusterAwareEventListener, @NotNull BambooClusterLockService bambooClusterLockService)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    void
     
    void
     
    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 interface com.atlassian.plugin.PluginSystemLifecycle
      Overrides:
      init in class com.atlassian.plugin.manager.DefaultPluginManager
    • installPlugins

      public Set<String> installPlugins(com.atlassian.plugin.PluginArtifact... pluginArtifacts)
      Specified by:
      installPlugins in interface com.atlassian.plugin.PluginController
      Overrides:
      installPlugins in class com.atlassian.plugin.manager.DefaultPluginManager
    • uninstall

      public void uninstall(com.atlassian.plugin.Plugin plugin)
      Specified by:
      uninstall in interface com.atlassian.plugin.PluginController
      Overrides:
      uninstall in class com.atlassian.plugin.manager.DefaultPluginManager
    • enablePlugins

      public void enablePlugins(String... keys)
      Specified by:
      enablePlugins in interface com.atlassian.plugin.PluginController
      Overrides:
      enablePlugins in class com.atlassian.plugin.manager.DefaultPluginManager
    • disablePlugin

      public void disablePlugin(String key)
      Specified by:
      disablePlugin in interface com.atlassian.plugin.PluginController
      Overrides:
      disablePlugin in class BambooPluginManager