org.codehaus.wadi.group.impl
Class AbstractCluster

java.lang.Object
  extended by org.codehaus.wadi.group.impl.AbstractCluster
All Implemented Interfaces:
Cluster

public abstract class AbstractCluster
extends java.lang.Object
implements Cluster


Field Summary
protected  java.util.Map _addressToPeer
           
protected  java.util.Map _backendKeyToPeer
           
static java.lang.ThreadLocal _cluster
           
protected  java.lang.String _clusterName
           
protected  Peer _clusterPeer
           
protected  LocalPeer _localPeer
           
protected  java.lang.String _localPeerName
           
protected  org.apache.commons.logging.Log _log
           
protected  AbstractDispatcher dispatcher
           
 
Constructor Summary
AbstractCluster(java.lang.String clusterName, java.lang.String localPeerName, AbstractDispatcher dispatcher)
           
 
Method Summary
 void addClusterListener(ClusterListener listener)
           
protected abstract  Peer createPeerFromPeerSerialization(java.lang.Object backend)
           
protected abstract  java.lang.Object extractKeyFromPeerSerialization(java.lang.Object backend)
           
static Peer get(java.lang.Object serializedPeer)
           
 java.lang.String getClusterName()
           
 Dispatcher getDispatcher()
           
 Peer getPeer(java.lang.Object serializedPeer)
           
 int getPeerCount()
           
 Peer getPeerFromBackEndKey(java.lang.Object backEndKey)
           
 java.util.Map getRemotePeers()
           
protected  void notifyMembershipChanged(java.util.Set<Peer> joiners, java.util.Set<Peer> leavers)
           
 void removeClusterListener(ClusterListener listener)
           
 boolean waitOnMembershipCount(int membershipCount, long timeout)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.codehaus.wadi.group.Cluster
getAddress, getLocalPeer, getPeerFromAddress, start, stop
 

Field Detail

_cluster

public static final java.lang.ThreadLocal _cluster

_log

protected final org.apache.commons.logging.Log _log

_addressToPeer

protected final java.util.Map _addressToPeer

_backendKeyToPeer

protected final java.util.Map _backendKeyToPeer

_clusterName

protected final java.lang.String _clusterName

_localPeerName

protected final java.lang.String _localPeerName

dispatcher

protected final AbstractDispatcher dispatcher

_clusterPeer

protected Peer _clusterPeer

_localPeer

protected LocalPeer _localPeer
Constructor Detail

AbstractCluster

public AbstractCluster(java.lang.String clusterName,
                       java.lang.String localPeerName,
                       AbstractDispatcher dispatcher)
Method Detail

getClusterName

public java.lang.String getClusterName()
Specified by:
getClusterName in interface Cluster

getDispatcher

public Dispatcher getDispatcher()
Specified by:
getDispatcher in interface Cluster

getRemotePeers

public java.util.Map getRemotePeers()
Specified by:
getRemotePeers in interface Cluster

getPeerCount

public int getPeerCount()
Specified by:
getPeerCount in interface Cluster

waitOnMembershipCount

public boolean waitOnMembershipCount(int membershipCount,
                                     long timeout)
                              throws java.lang.InterruptedException
Specified by:
waitOnMembershipCount in interface Cluster
Parameters:
membershipCount - - when membership reaches this number or we timeout this method will return
timeout - - the number of milliseconds to wait for membership to hit membershipCount
Returns:
whether or not expected membershipCount was hit within given time
Throws:
java.lang.InterruptedException

addClusterListener

public void addClusterListener(ClusterListener listener)
Specified by:
addClusterListener in interface Cluster

removeClusterListener

public void removeClusterListener(ClusterListener listener)
Specified by:
removeClusterListener in interface Cluster

notifyMembershipChanged

protected void notifyMembershipChanged(java.util.Set<Peer> joiners,
                                       java.util.Set<Peer> leavers)

get

public static Peer get(java.lang.Object serializedPeer)

getPeer

public Peer getPeer(java.lang.Object serializedPeer)

getPeerFromBackEndKey

public Peer getPeerFromBackEndKey(java.lang.Object backEndKey)

createPeerFromPeerSerialization

protected abstract Peer createPeerFromPeerSerialization(java.lang.Object backend)

extractKeyFromPeerSerialization

protected abstract java.lang.Object extractKeyFromPeerSerialization(java.lang.Object backend)


Copyright © 2010. All Rights Reserved.