org.apache.qpid.test.client.failover
Class FailoverTest

java.lang.Object
  extended by junit.framework.Assert
      extended by junit.framework.TestCase
          extended by org.apache.qpid.test.utils.QpidTestCase
              extended by org.apache.qpid.test.utils.QpidBrokerTestCase
                  extended by org.apache.qpid.test.utils.FailoverBaseCase
                      extended by org.apache.qpid.test.client.failover.FailoverTest
All Implemented Interfaces:
junit.framework.Test, org.apache.qpid.jms.ConnectionListener

public class FailoverTest
extends FailoverBaseCase
implements org.apache.qpid.jms.ConnectionListener


Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.qpid.test.utils.QpidBrokerTestCase
QpidBrokerTestCase.MessageType
 
Field Summary
protected  Connection connection
           
protected  int numMessages
           
 
Fields inherited from class org.apache.qpid.test.utils.FailoverBaseCase
DEFAULT_FAILOVER_TIME, FAILING_PORT, FAILING_VM_PORT, failingPort
 
Fields inherited from class org.apache.qpid.test.utils.QpidBrokerTestCase
_broker, _brokerLanguage, _brokerLogPrefix, _brokerOutputStream, _brokerPersistent, _brokers, _configFile, _connectionFactory, _connections, _initialContext, _interleaveBrokerLog, _output, _outputFile, _testName, BROKER_READY, CONTENT, CPP, DEFAULT_MANAGEMENT_PORT, DEFAULT_MESSAGE_SIZE, DEFAULT_PORT, DEFAULT_SSL_PORT, DEFAULT_VM_PORT, EXTERNAL, INDEX, JAVA, LOGMONITOR_TIMEOUT, QPID_HOME, QpidHome, RECEIVE_TIMEOUT, TOPIC, VM
 
Fields inherited from class org.apache.qpid.test.utils.QpidTestCase
MEMORY_STORE_CLASS_NAME, MS_CLASS_NAME_KEY
 
Constructor Summary
FailoverTest()
           
 
Method Summary
 void bytesReceived(long count)
           
 void bytesSent(long count)
           
 void failoverComplete()
           
protected  void init(boolean transacted, int mode)
           
 boolean preFailover(boolean redirect)
           
 boolean preResubscribe()
           
protected  void runP2PFailover(int totalMessages, boolean consumeAll, boolean produceAll, boolean transacted)
           
protected  void setUp()
           
 void tearDown()
           
 void test4MinuteFailover()
          The client used to have a fixed timeout of 4 minutes after which failover would no longer work.
 void testClientAckFailover()
           
 void testFailoverInALoop()
          The idea is to run a failover test in a loop by failing over to the other broker each time.
 void testP2PFailover()
           
 void testP2PFailoverTransacted()
           
 void testP2PFailoverTransactedWithMessagesLeftToConsumeAndProduce()
           
 void testP2PFailoverWithMessagesLeftToConsume()
           
 void testP2PFailoverWithMessagesLeftToConsumeAndProduce()
           
 
Methods inherited from class org.apache.qpid.test.utils.FailoverBaseCase
failBroker, getConnectionFactory, getFailingPort
 
Methods inherited from class org.apache.qpid.test.utils.QpidBrokerTestCase
cleanBroker, createMessage, createNextMessage, drainQueue, getBroker, getBrokerCommand, getClientConnection, getConfigurationStringProperty, getConnection, getConnection, getConnection, getConnectionFactory, getConnectionURL, getInitialContext, getLogger, getManagementPort, getMessageSize, getPort, getPort, getTestConfigFile, getTestQueue, getTestQueueName, getTestVirtualhostsFile, isBroker010, isBroker08, isBrokerStorePersistent, isCppBroker, isExternalBroker, isJavaBroker, makeVirtualHostPersistent, reloadBrokerSecurityConfig, restartBroker, restartBroker, revertLoggingLevels, revertSystemProperties, runBare, saveTestConfiguration, saveTestVirtualhosts, sendMessage, sendMessage, sendMessage, setBrokerEnvironment, setBrokerOnlySystemProperty, setConfigurationProperty, setLoggerLevel, setMessageSize, setSystemProperty, setSystemProperty, setTestClientSystemProperty, startBroker, startBroker, stopBroker, stopBroker
 
Methods inherited from class org.apache.qpid.test.utils.QpidTestCase
getTestProfileMessageStoreClassName, run
 
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, runTest, setName, toString
 
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

numMessages

protected int numMessages

connection

protected Connection connection
Constructor Detail

FailoverTest

public FailoverTest()
Method Detail

setUp

protected void setUp()
              throws Exception
Overrides:
setUp in class FailoverBaseCase
Throws:
Exception

init

protected void init(boolean transacted,
                    int mode)
             throws JMSException,
                    NamingException
Throws:
JMSException
NamingException

tearDown

public void tearDown()
              throws Exception
Overrides:
tearDown in class FailoverBaseCase
Throws:
Exception

testP2PFailover

public void testP2PFailover()
                     throws Exception
Throws:
Exception

testP2PFailoverWithMessagesLeftToConsumeAndProduce

public void testP2PFailoverWithMessagesLeftToConsumeAndProduce()
                                                        throws Exception
Throws:
Exception

testP2PFailoverWithMessagesLeftToConsume

public void testP2PFailoverWithMessagesLeftToConsume()
                                              throws Exception
Throws:
Exception

testP2PFailoverTransacted

public void testP2PFailoverTransacted()
                               throws Exception
Throws:
Exception

testP2PFailoverTransactedWithMessagesLeftToConsumeAndProduce

public void testP2PFailoverTransactedWithMessagesLeftToConsumeAndProduce()
                                                                  throws Exception
Throws:
Exception

runP2PFailover

protected void runP2PFailover(int totalMessages,
                              boolean consumeAll,
                              boolean produceAll,
                              boolean transacted)
                       throws JMSException,
                              NamingException
Throws:
JMSException
NamingException

testClientAckFailover

public void testClientAckFailover()
                           throws Exception
Throws:
Exception

test4MinuteFailover

public void test4MinuteFailover()
                         throws Exception
The client used to have a fixed timeout of 4 minutes after which failover would no longer work. Check that this code has not regressed

Throws:
Exception - if something unexpected occurs in the test.

testFailoverInALoop

public void testFailoverInALoop()
                         throws Exception
The idea is to run a failover test in a loop by failing over to the other broker each time.

Throws:
Exception

bytesSent

public void bytesSent(long count)
Specified by:
bytesSent in interface org.apache.qpid.jms.ConnectionListener

bytesReceived

public void bytesReceived(long count)
Specified by:
bytesReceived in interface org.apache.qpid.jms.ConnectionListener

preFailover

public boolean preFailover(boolean redirect)
Specified by:
preFailover in interface org.apache.qpid.jms.ConnectionListener

preResubscribe

public boolean preResubscribe()
Specified by:
preResubscribe in interface org.apache.qpid.jms.ConnectionListener

failoverComplete

public void failoverComplete()
Specified by:
failoverComplete in interface org.apache.qpid.jms.ConnectionListener


Licensed to the Apache Software Foundation