org.apache.qpid.jms.failover
Class FailoverExchangeMethod

java.lang.Object
  extended by org.apache.qpid.jms.failover.FailoverExchangeMethod
All Implemented Interfaces:
MessageListener, FailoverMethod

public class FailoverExchangeMethod
extends Object
implements FailoverMethod, MessageListener

When using the Failover exchange a single broker is supplied in the URL. The connection will then connect to the cluster using the above broker details. Once connected, the membership details of the cluster will be obtained via subscribing to a queue bound to the failover exchange. The failover exchange will provide a list of broker URLs in the format "transport:ip:port" Out of this list we only select brokers that match the transport of the original broker supplied in the connection URL. Also properties defined for the original broker will be applied to all the brokers selected from the list.


Field Summary
 
Fields inherited from interface org.apache.qpid.jms.failover.FailoverMethod
FAILOVER_EXCHANGE, NO_FAILOVER, RANDOM, ROUND_ROBIN, SINGLE_BROKER
 
Constructor Summary
FailoverExchangeMethod(ConnectionURL connectionDetails, AMQConnection conn)
           
 
Method Summary
 void attainedConnection()
          Notification to the Failover method that a connection has been attained.
 boolean failoverAllowed()
          Check if failover is possible for this method
 BrokerDetails getCurrentBrokerDetails()
          If there is no current BrokerDetails the null will be returned.
 BrokerDetails getNextBrokerDetails()
          Move to the next BrokerDetails if one is available.
 String methodName()
           
 void onMessage(Message m)
           
 void reset()
          Reset the Failover to initial conditions
 void setBroker(BrokerDetails broker)
          Set the currently active broker to be the new value.
 void setRetries(int maxRetries)
          Set the retries for this method
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FailoverExchangeMethod

public FailoverExchangeMethod(ConnectionURL connectionDetails,
                              AMQConnection conn)
Method Detail

onMessage

public void onMessage(Message m)
Specified by:
onMessage in interface MessageListener

attainedConnection

public void attainedConnection()
Description copied from interface: FailoverMethod
Notification to the Failover method that a connection has been attained.

Specified by:
attainedConnection in interface FailoverMethod

getCurrentBrokerDetails

public BrokerDetails getCurrentBrokerDetails()
Description copied from interface: FailoverMethod
If there is no current BrokerDetails the null will be returned.

Specified by:
getCurrentBrokerDetails in interface FailoverMethod
Returns:
The current BrokerDetail value to use

getNextBrokerDetails

public BrokerDetails getNextBrokerDetails()
Description copied from interface: FailoverMethod
Move to the next BrokerDetails if one is available.

Specified by:
getNextBrokerDetails in interface FailoverMethod
Returns:
the next BrokerDetail or null if there is none.

failoverAllowed

public boolean failoverAllowed()
Description copied from interface: FailoverMethod
Check if failover is possible for this method

Specified by:
failoverAllowed in interface FailoverMethod
Returns:
true if failover is allowed

reset

public void reset()
Description copied from interface: FailoverMethod
Reset the Failover to initial conditions

Specified by:
reset in interface FailoverMethod

setBroker

public void setBroker(BrokerDetails broker)
Description copied from interface: FailoverMethod
Set the currently active broker to be the new value.

Specified by:
setBroker in interface FailoverMethod
Parameters:
broker - The new BrokerDetail value

setRetries

public void setRetries(int maxRetries)
Description copied from interface: FailoverMethod
Set the retries for this method

Specified by:
setRetries in interface FailoverMethod
Parameters:
maxRetries - the maximum number of time to retry this Method

methodName

public String methodName()
Specified by:
methodName in interface FailoverMethod
Returns:
The name of this method for display purposes.

toString

public String toString()
Overrides:
toString in class Object


Licensed to the Apache Software Foundation