Package com.atlassian.confluence.plugin
Class ConfluencePluginManager
- java.lang.Object
-
- com.atlassian.plugin.manager.DefaultPluginManager
-
- com.atlassian.confluence.plugin.ConfluencePluginManager
-
- All Implemented Interfaces:
com.atlassian.plugin.PluginAccessor,com.atlassian.plugin.PluginController,com.atlassian.plugin.PluginSystemLifecycle,com.atlassian.plugin.SplitStartupPluginSystemLifecycle,EventListener,org.springframework.beans.factory.Aware,org.springframework.context.ApplicationContextAware,org.springframework.context.ApplicationListener
- Direct Known Subclasses:
SetupPluginManager
public class ConfluencePluginManager extends com.atlassian.plugin.manager.DefaultPluginManager implements org.springframework.context.ApplicationListener, org.springframework.context.ApplicationContextAwareCluster safe extension ofDefaultPluginManagerwhich listens for plugin events fired on other nodes and guarantees that plugin state is consistent across nodes.
-
-
Constructor Summary
Constructors Constructor Description ConfluencePluginManager(com.atlassian.plugin.PluginRegistry.ReadWrite pluginRegistry, com.atlassian.plugin.PluginAccessor pluginAccessor, com.atlassian.plugin.manager.PluginPersistentStateStore pluginStateStore, List<Object> pluginLoaders, com.atlassian.plugin.ModuleDescriptorFactory moduleDescriptorFactory, com.atlassian.plugin.event.PluginEventManager pluginEventManager, List<String> tenantAwareOrAgnosticPlugins, com.atlassian.event.api.EventPublisher eventPublisher, com.atlassian.plugin.PluginInstaller pluginInstaller, com.atlassian.plugin.manager.SafeModeManager safeModeManager)If you pass a String in the list of pluginLoaders, it will automagically be converted into a SinglePluginLoader for a file with that string's name.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidearlyStartup()voidinit()protected booleanisSetupPluginManager()Overridden inSetupPluginManagerto return {@link true}.voidlateStartup()voidonApplicationEvent(org.springframework.context.ApplicationEvent event)Initialised the plugin system and update local plugin state on clustered plugin eventsvoidsetApplicationContext(org.springframework.context.ApplicationContext applicationContext)-
Methods inherited from class com.atlassian.plugin.manager.DefaultPluginManager
addDynamicModule, addPlugins, disablePlugin, disablePluginInternal, disablePluginModule, disablePluginWithoutPersisting, enablePluginModule, enablePlugins, getClassLoader, getDynamicModules, getDynamicPluginClass, getDynamicResourceAsStream, getEnabledModuleDescriptorsByClass, getEnabledModulesByClass, getEnabledPlugin, getEnabledPluginModule, getEnabledPlugins, getLateStartupEnableRetryProperty, getMinimumPluginVersionsFileProperty, getModuleDescriptors, getModules, getPlugin, getPluginModule, getPluginRestartState, getPlugins, getPlugins, getStartupOverrideFileProperty, getState, installPlugins, isPluginEnabled, isPluginModuleEnabled, isSystemPlugin, newBuilder, notifyModuleDisabled, notifyModuleEnabled, notifyUninstallPlugin, onPluginContainerUnavailable, onPluginModuleAvailable, onPluginModuleUnavailable, onPluginRefresh, onUpdateRequiresRestartState, removeDynamicModule, removeStateFromStore, revertRestartRequiredChange, scanForNewPlugins, setPluginInstaller, shutdown, uninstall, uninstallNoEvent, uninstallPlugins, unloadPlugin, updatePlugin, warmRestart
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
-
-
Constructor Detail
-
ConfluencePluginManager
public ConfluencePluginManager(com.atlassian.plugin.PluginRegistry.ReadWrite pluginRegistry, com.atlassian.plugin.PluginAccessor pluginAccessor, com.atlassian.plugin.manager.PluginPersistentStateStore pluginStateStore, List<Object> pluginLoaders, com.atlassian.plugin.ModuleDescriptorFactory moduleDescriptorFactory, com.atlassian.plugin.event.PluginEventManager pluginEventManager, List<String> tenantAwareOrAgnosticPlugins, com.atlassian.event.api.EventPublisher eventPublisher, com.atlassian.plugin.PluginInstaller pluginInstaller, com.atlassian.plugin.manager.SafeModeManager safeModeManager)If you pass a String in the list of pluginLoaders, it will automagically be converted into a SinglePluginLoader for a file with that string's name.- Parameters:
pluginRegistry- a shared registry between PluginController and PluginAccessorpluginAccessor- a plugin accessorpluginStateStore- the storage for the plugin statepluginLoaders- a list of plugin loaders to usemoduleDescriptorFactory- a factory used to create the module descriptorspluginEventManager- the event manager used for pluginstenantAwareOrAgnosticPlugins- list of plugins which are tenant-less or are tenant-awareeventPublisher- the system event publisherpluginInstaller- used to persist user-installed plugins
-
-
Method Detail
-
init
public void init() throws com.atlassian.plugin.PluginParseException, com.atlassian.plugin.event.NotificationException- Specified by:
initin interfacecom.atlassian.plugin.PluginSystemLifecycle- Overrides:
initin classcom.atlassian.plugin.manager.DefaultPluginManager- Throws:
com.atlassian.plugin.PluginParseExceptioncom.atlassian.plugin.event.NotificationException
-
earlyStartup
public void earlyStartup() throws com.atlassian.plugin.PluginParseException, com.atlassian.plugin.event.NotificationException- Specified by:
earlyStartupin interfacecom.atlassian.plugin.SplitStartupPluginSystemLifecycle- Overrides:
earlyStartupin classcom.atlassian.plugin.manager.DefaultPluginManager- Throws:
com.atlassian.plugin.PluginParseExceptioncom.atlassian.plugin.event.NotificationException
-
lateStartup
public void lateStartup() throws com.atlassian.plugin.PluginParseException, com.atlassian.plugin.event.NotificationException- Specified by:
lateStartupin interfacecom.atlassian.plugin.SplitStartupPluginSystemLifecycle- Overrides:
lateStartupin classcom.atlassian.plugin.manager.DefaultPluginManager- Throws:
com.atlassian.plugin.PluginParseExceptioncom.atlassian.plugin.event.NotificationException
-
isSetupPluginManager
protected boolean isSetupPluginManager()
Overridden inSetupPluginManagerto return {@link true}.
-
onApplicationEvent
public final void onApplicationEvent(org.springframework.context.ApplicationEvent event)
Initialised the plugin system and update local plugin state on clustered plugin events- Specified by:
onApplicationEventin interfaceorg.springframework.context.ApplicationListener- Parameters:
event- the event being notified
-
setApplicationContext
public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) throws org.springframework.beans.BeansException- Specified by:
setApplicationContextin interfaceorg.springframework.context.ApplicationContextAware- Throws:
org.springframework.beans.BeansException
-
-