org.codehaus.wadi.location.partitionmanager
Class SimplePartitionManager
java.lang.Object
org.codehaus.wadi.location.partitionmanager.SimplePartitionManager
- All Implemented Interfaces:
- Lifecycle, PartitionManager, PartitionManagerMessageListener
public class SimplePartitionManager
- extends java.lang.Object
- implements PartitionManager, PartitionManagerMessageListener
A Simple PartitionManager.
- Author:
- Jules Gosnell
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SimplePartitionManager
public SimplePartitionManager(ServiceSpace serviceSpace,
int numPartitions,
PartitionMapper mapper,
PartitionBalancerSingletonServiceHolder singletonServiceHolder,
SimplePartitionManagerTiming timing)
start
public void start()
throws java.lang.Exception
- Specified by:
start
in interface Lifecycle
- Throws:
java.lang.Exception
stop
public void stop()
throws java.lang.Exception
- Specified by:
stop
in interface Lifecycle
- Throws:
java.lang.Exception
evacuate
public void evacuate()
- Specified by:
evacuate
in interface PartitionManager
onPartitionEvacuationRequest
public void onPartitionEvacuationRequest(org.codehaus.wadi.group.Envelope om,
PartitionEvacuationRequest request)
- Specified by:
onPartitionEvacuationRequest
in interface PartitionManagerMessageListener
onRetrieveBalancingInfoEvent
public void onRetrieveBalancingInfoEvent(org.codehaus.wadi.group.Envelope om,
RetrieveBalancingInfoEvent infoEvent)
- Specified by:
onRetrieveBalancingInfoEvent
in interface PartitionManagerMessageListener
onPartitionBalancingInfoUpdate
public void onPartitionBalancingInfoUpdate(org.codehaus.wadi.group.Envelope om,
PartitionBalancingInfoUpdate infoUpdate)
- Specified by:
onPartitionBalancingInfoUpdate
in interface PartitionManagerMessageListener
onPartitionTransferRequest
public void onPartitionTransferRequest(org.codehaus.wadi.group.Envelope om,
PartitionTransferRequest request)
- Specified by:
onPartitionTransferRequest
in interface PartitionManagerMessageListener
getBalancingInfo
public PartitionBalancingInfo getBalancingInfo()
- Specified by:
getBalancingInfo
in interface PartitionManager
getPartition
public Partition getPartition(java.lang.Object key)
- Specified by:
getPartition
in interface PartitionManager
getServiceSpace
public ServiceSpace getServiceSpace()
queueRebalancing
protected void queueRebalancing()
waitForBoot
protected void waitForBoot()
throws java.lang.InterruptedException,
PartitionManagerException
- Throws:
java.lang.InterruptedException
PartitionManagerException
initializePartitionFacades
protected void initializePartitionFacades()
buildBalancingInfo
protected PartitionBalancingInfo buildBalancingInfo()
doOnPartitionBalancingInfoUpdate
protected void doOnPartitionBalancingInfoUpdate(org.codehaus.wadi.group.Envelope om,
PartitionBalancingInfoUpdate infoUpdate)
throws org.codehaus.wadi.group.MessageExchangeException,
PartitionBalancingException
- Throws:
org.codehaus.wadi.group.MessageExchangeException
PartitionBalancingException
transferPartitions
protected void transferPartitions(PartitionInfo[] newPartitionInfos)
throws org.codehaus.wadi.group.MessageExchangeException,
PartitionBalancingException
- Throws:
org.codehaus.wadi.group.MessageExchangeException
PartitionBalancingException
repopulatePartition
protected void repopulatePartition(PartitionInfo[] newPartitionInfos,
PartitionInfoUpdate[] updates)
throws org.codehaus.wadi.group.MessageExchangeException,
PartitionBalancingException
- Throws:
org.codehaus.wadi.group.MessageExchangeException
PartitionBalancingException
redefineRemotePartitions
protected void redefineRemotePartitions(PartitionInfo[] newPartitionInfos)
redefineLocalUnchangedPartitions
protected void redefineLocalUnchangedPartitions(PartitionInfo[] newPartitionInfos)
transferPartitionToPeers
protected void transferPartitionToPeers(org.codehaus.wadi.group.Peer peer,
java.util.Set<PartitionInfo> partitionInfos)
throws org.codehaus.wadi.group.MessageExchangeException,
PartitionBalancingException
- Throws:
org.codehaus.wadi.group.MessageExchangeException
PartitionBalancingException
identifyTransfers
protected java.util.Map<org.codehaus.wadi.group.Peer,java.util.Set<PartitionInfo>> identifyTransfers(PartitionInfo[] newPartitionInfos)
localise
protected void localise(PartitionBalancingInfo newBalancingInfo)
Copyright © 2008. All Rights Reserved.