com.atlassian.confluence.cluster
Interface ClusterManager

All Superinterfaces:
LockFactory, NameResolver
All Known Implementing Classes:
NonClusterManager, TangosolClusterManager

public interface ClusterManager
extends NameResolver, LockFactory


Method Summary
 void configure(ClusterConfig config)
          Set a new cluster configuration.
 ClusteredLock getClusteredLock(String key)
          Get a distributed lock -- getting the lock does *not* imply that it has been acquired.
 ClusterInformation getClusterInformation()
          Get information about the running cluster.
 ClusterInvariants getClusterInvariants()
          Get all attributes of the server that must be consistent between cluster nodes.
 com.atlassian.core.task.FifoBuffer getFifoBuffer(String name)
          Get a distributed FIFO buffer
 Map<Integer,NodeStatus> getNodeStatuses()
          Gets status information from all members of the cluster.
 Map getNodeStatusesForCluster()
          Deprecated. since 3.1 leaks Coherence classes, do not use.
 int getPermittedClusterNodes()
           
 Serializable getPublishedObject(String key)
          Retrieve an object which another node in the cluster has shared, return null if no such object exists
 ClusterNodeInformation getThisNodeInformation()
           Get the identity of this node in the cluster.
 boolean isClustered()
           
 boolean isClusterSupported()
          Check whether this Confluence distribution is capable of running in a cluster.
 boolean isConfigured()
           
 void publishEvent(ConfluenceEvent event)
          Publish an event as a ClusterEventWrapper to other nodes
 void publishObject(String key, Serializable object)
          Share an object to the cluster under a particular key.
 void reconfigure(ClusterConfig config)
          Set a new cluster configuration and cycle the service
 void startCluster()
          Start the clustering service
 void stopCluster()
          Stop the clustering service
 
Methods inherited from interface com.atlassian.confluence.cluster.NameResolver
resolveName
 
Methods inherited from interface com.atlassian.confluence.concurrent.LockFactory
getLock
 

Method Detail

isClusterSupported

boolean isClusterSupported()
Check whether this Confluence distribution is capable of running in a cluster. This differs from isClustered() in that it will return true if the code to support clustering is present, even if this instance does not have a clustered license or a current clustering configuration.

Returns:
true if this Confluence installation is capable of running in a cluster

publishObject

void publishObject(String key,
                   Serializable object)
Share an object to the cluster under a particular key. Note that once an object is published it will remain available for the duration of the cluster.

Parameters:
key -
object -

getPublishedObject

Serializable getPublishedObject(String key)
Retrieve an object which another node in the cluster has shared, return null if no such object exists

Parameters:
key -
Returns:
a shared Object

isClustered

boolean isClustered()
Returns:
true if this instance is configured to allow clustering with other nodes

getPermittedClusterNodes

int getPermittedClusterNodes()
Returns:
the number of clustered nodes permitted by the license. Returns a value less than or equal to zero if clustering is not permitted.

getClusterInformation

ClusterInformation getClusterInformation()
Get information about the running cluster.


getClusteredLock

ClusteredLock getClusteredLock(String key)
Get a distributed lock -- getting the lock does *not* imply that it has been acquired. Call Lock.tryLock() or Lock.lock() on the returned object to acquire the lock.


getFifoBuffer

com.atlassian.core.task.FifoBuffer getFifoBuffer(String name)
Get a distributed FIFO buffer


publishEvent

void publishEvent(ConfluenceEvent event)
Publish an event as a ClusterEventWrapper to other nodes


getThisNodeInformation

ClusterNodeInformation getThisNodeInformation()

Get the identity of this node in the cluster. ClusterNodeInformation implements equals().

Returns:
the identity of this node in the cluster. May return null if the node is not in a cluster.

configure

void configure(ClusterConfig config)
Set a new cluster configuration.

Parameters:
config -

isConfigured

boolean isConfigured()
Returns:
true if configure(ClusterConfig) has been called with a valid configuration, otherwise false.

reconfigure

void reconfigure(ClusterConfig config)
Set a new cluster configuration and cycle the service

Parameters:
config -

stopCluster

void stopCluster()
Stop the clustering service


startCluster

void startCluster()
Start the clustering service


getNodeStatuses

Map<Integer,NodeStatus> getNodeStatuses()
Gets status information from all members of the cluster.

Returns:
a map of node IDs to node statuses

getClusterInvariants

ClusterInvariants getClusterInvariants()
                                       throws ClusterException
Get all attributes of the server that must be consistent between cluster nodes.

Returns:
the cluster invariants of this server
Throws:
ClusterException - if the invariants can not be gathered for some reason

getNodeStatusesForCluster

Map getNodeStatusesForCluster()
Deprecated. since 3.1 leaks Coherence classes, do not use.



Copyright © 2003-2011 Atlassian. All Rights Reserved.