public class ConfluencePluginManager
extends com.atlassian.plugin.manager.DefaultPluginManager
implements org.springframework.context.ApplicationListener, org.springframework.context.ApplicationContextAware
DefaultPluginManager
which listens for plugin events fired on other nodes
and guarantees that plugin state is consistent across nodes.Constructor and 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.
|
Modifier and Type | Method and Description |
---|---|
void |
earlyStartup() |
void |
init() |
protected boolean |
isSetupPluginManager()
Overridden in
SetupPluginManager to return true . |
void |
lateStartup() |
void |
onApplicationEvent(org.springframework.context.ApplicationEvent event)
Initialised the plugin system on receipt of a
DatabaseConfiguredEvent and update local plugin state
on clustered plugin events |
void |
setApplicationContext(org.springframework.context.ApplicationContext applicationContext) |
addDynamicModule, addPlugin, addPlugins, disablePlugin, disablePluginInternal, disablePluginModule, disablePluginModuleState, disablePluginState, disablePluginWithoutPersisting, enablePlugin, enablePluginModule, enablePluginModuleState, enablePlugins, enablePluginState, getActiveModuleDescriptorsByClass, getClassLoader, getDynamicModules, getDynamicPluginClass, getDynamicResourceAsStream, getEnabledModuleDescriptorsByClass, getEnabledModuleDescriptorsByClass, getEnabledModuleDescriptorsByType, getEnabledModulesByClass, getEnabledModulesByClassAndDescriptor, getEnabledModulesByClassAndDescriptor, getEnabledPlugin, getEnabledPluginModule, getEnabledPlugins, getLateStartupEnableRetryProperty, getMinimumPluginVersionsFileProperty, getModuleDescriptors, getModules, getPlugin, getPluginModule, getPluginResourceAsStream, getPluginRestartState, getPlugins, getPlugins, getStartupOverrideFileProperty, getState, getStore, installPlugin, installPlugins, isPluginEnabled, isPluginModuleEnabled, isSystemPlugin, newBuilder, notifyModuleDisabled, notifyModuleEnabled, notifyPluginDisabled, notifyPluginEnabled, notifyUninstallPlugin, onPluginContainerUnavailable, onPluginModuleAvailable, onPluginModuleUnavailable, onPluginRefresh, onUpdateRequiresRestartState, removeDynamicModule, removeStateFromStore, revertRestartRequiredChange, scanForNewPlugins, setPluginInstaller, shutdown, uninstall, uninstallNoEvent, uninstallPlugins, unloadPlugin, updatePlugin, warmRestart
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)
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 pluginspublic void init() throws com.atlassian.plugin.PluginParseException, com.atlassian.plugin.event.NotificationException
init
in interface com.atlassian.plugin.PluginSystemLifecycle
init
in class com.atlassian.plugin.manager.DefaultPluginManager
com.atlassian.plugin.PluginParseException
com.atlassian.plugin.event.NotificationException
public void earlyStartup() throws com.atlassian.plugin.PluginParseException, com.atlassian.plugin.event.NotificationException
earlyStartup
in interface com.atlassian.plugin.SplitStartupPluginSystemLifecycle
earlyStartup
in class com.atlassian.plugin.manager.DefaultPluginManager
com.atlassian.plugin.PluginParseException
com.atlassian.plugin.event.NotificationException
public void lateStartup() throws com.atlassian.plugin.PluginParseException, com.atlassian.plugin.event.NotificationException
lateStartup
in interface com.atlassian.plugin.SplitStartupPluginSystemLifecycle
lateStartup
in class com.atlassian.plugin.manager.DefaultPluginManager
com.atlassian.plugin.PluginParseException
com.atlassian.plugin.event.NotificationException
protected boolean isSetupPluginManager()
SetupPluginManager
to return true
.public final void onApplicationEvent(org.springframework.context.ApplicationEvent event)
DatabaseConfiguredEvent
and update local plugin state
on clustered plugin eventsonApplicationEvent
in interface org.springframework.context.ApplicationListener
event
- the event being notifiedpublic void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) throws org.springframework.beans.BeansException
setApplicationContext
in interface org.springframework.context.ApplicationContextAware
org.springframework.beans.BeansException
Copyright © 2003–2018 Atlassian. All rights reserved.