com.atlassian.plugin.manager.store
Class SynchronizedPluginPersistentStateStore

java.lang.Object
  extended by 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
static class SynchronizedPluginPersistentStateStore.LockMode
           
 
Constructor Summary
SynchronizedPluginPersistentStateStore(PluginPersistentStateStore delegate)
           
SynchronizedPluginPersistentStateStore(PluginPersistentStateStore delegate, ReadWriteLock lock)
           
 
Method Summary
static String getLockModeProperty()
           
 PluginPersistentState load()
          Get the saved activation state of loaded plugins or modules.
 void save(PluginPersistentState state)
          Put the current global state of plugin activation/deactivation into permanent storage.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SynchronizedPluginPersistentStateStore

public SynchronizedPluginPersistentStateStore(PluginPersistentStateStore delegate)

SynchronizedPluginPersistentStateStore

public SynchronizedPluginPersistentStateStore(PluginPersistentStateStore delegate,
                                              ReadWriteLock lock)
Method Detail

getLockModeProperty

@Internal
public static String getLockModeProperty()

save

public void save(PluginPersistentState state)
Description copied from interface: PluginPersistentStateStore
Put 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 Boolean values representing whether the plugin or module is enabled (true if it's enabled).

Callers should only pass in values for those plugins or modules that are not in their default state.

Specified by:
save in interface PluginPersistentStateStore
Parameters:
state - the map of plugin and module activation states

load

public PluginPersistentState load()
Description copied from interface: PluginPersistentStateStore
Get the saved activation state of loaded plugins or modules. The map will be identical to the one described in savePluginState.

Specified by:
load in interface PluginPersistentStateStore
Returns:
the configured activation/deactivation state for plugins in this Confluence instance.


Copyright © 2015 Atlassian. All rights reserved.