org.jboss.ha.framework.interfaces
Class FirstAvailableIdenticalAllProxies

java.lang.Object
  extended byorg.jboss.ha.framework.interfaces.FirstAvailableIdenticalAllProxies
All Implemented Interfaces:
LoadBalancePolicy (src) , java.io.Serializable

public class FirstAvailableIdenticalAllProxies
extends java.lang.Object
implements LoadBalancePolicy (src)

LoadBalancingPolicy implementation that always favor the first available target i.e. no load balancing occurs. Nevertheless, the first target is randomly selected. This does not mean that fail-over will not occur if the first member in the list dies. In this case, fail-over will occur, and a new target will become the first member and invocation will continously be invoked on the same new target until its death. Each proxy using this policy will *not* elect its own prefered target: the target *is* shared with all proxies that belong to the same family (for a different behaviour please take a look at FirstAvailable)

See Also:
LoadBalancePolicy (src) , Serialized Form

Constructor Summary
FirstAvailableIdenticalAllProxies()
           
 
Method Summary
 java.lang.Object chooseTarget(FamilyClusterInfo (src)  clusterFamily)
          Called when the stub wishes to know on which node the next invocation must be performed.
 java.lang.Object chooseTarget(FamilyClusterInfo (src)  clusterFamily, Invocation (src)  routingDecision)
          Called when the stub wishes to know on which node the next invocation must be performed.
 void init(HARMIClient (src)  father)
          Initialize the policy with a reference to its parent stub.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FirstAvailableIdenticalAllProxies

public FirstAvailableIdenticalAllProxies()
Method Detail

init

public void init(HARMIClient (src)  father)
Description copied from interface: LoadBalancePolicy (src)
Initialize the policy with a reference to its parent stub. the load-balancing policy implementation can use HARMIClient data to take its decision

Specified by:
init in interface LoadBalancePolicy (src)
Parameters:
father - The stub that owns the policy

chooseTarget

public java.lang.Object chooseTarget(FamilyClusterInfo (src)  clusterFamily)
Description copied from interface: LoadBalancePolicy (src)
Called when the stub wishes to know on which node the next invocation must be performed.

Specified by:
chooseTarget in interface LoadBalancePolicy (src)
Parameters:
clusterFamily - A list of potential target nodes
Returns:
The selected target for the next invocation

chooseTarget

public java.lang.Object chooseTarget(FamilyClusterInfo (src)  clusterFamily,
                                     Invocation (src)  routingDecision)
Description copied from interface: LoadBalancePolicy (src)
Called when the stub wishes to know on which node the next invocation must be performed.

Specified by:
chooseTarget in interface LoadBalancePolicy (src)
Parameters:
clusterFamily - A list of potential target nodes
routingDecision - The actual invocation object if the policy wants to have some kind of invocation-based routing strategy
Returns:
The selected target for the next invocation