Class SynchronizedPluginPersistentStateStore
java.lang.Object
com.atlassian.plugin.manager.store.SynchronizedPluginPersistentStateStore
- All Implemented Interfaces:
PluginPersistentStateStore
public class SynchronizedPluginPersistentStateStore
extends Object
implements PluginPersistentStateStore
A wrapper to add exclusion and logging to a
PluginPersistentStateStore.
This wrapper is intended as an interim measure to investigate and experiment with locking to avoid the worst symptoms of
PLUG-1106. It's not designed to fix the underlying causes of the concurrency issues.- Since:
- 3.2.12
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsConstructorDescription -
Method Summary
Modifier and TypeMethodDescriptionstatic Stringload()Get the saved activation state of loaded plugins or modules.voidsave(PluginPersistentState state) Put the current global state of plugin activation/deactivation into permanent storage.
-
Constructor Details
-
SynchronizedPluginPersistentStateStore
-
SynchronizedPluginPersistentStateStore
public SynchronizedPluginPersistentStateStore(PluginPersistentStateStore delegate, ReadWriteLock lock)
-
-
Method Details
-
getLockModeProperty
-
save
Description copied from interface:PluginPersistentStateStorePut the current global state of plugin activation/deactivation into permanent storage. The map passed in should have keys of the form "plugin" or "plugin:module", and PluginEnabledState values representing whether the plugin or module is enabled and the timestamp when the plugin state was last changed).- Specified by:
savein interfacePluginPersistentStateStore- Parameters:
state- the map of plugin and module activation states
-
load
Description copied from interface:PluginPersistentStateStoreGet the saved activation state of loaded plugins or modules. The map will be identical to the one described in savePluginState.- Specified by:
loadin interfacePluginPersistentStateStore- Returns:
- the configured activation/deactivation state for plugins in this instance.
-