[jboss-cvs] JBoss Messaging SVN: r6119 - trunk/tests/src/org/jboss/messaging/tests/integration/cluster/failover.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Mar 19 20:30:55 EDT 2009
Author: clebert.suconic at jboss.com
Date: 2009-03-19 20:30:55 -0400 (Thu, 19 Mar 2009)
New Revision: 6119
Modified:
trunk/tests/src/org/jboss/messaging/tests/integration/cluster/failover/AutomaticFailoverWithDiscoveryTest.java
trunk/tests/src/org/jboss/messaging/tests/integration/cluster/failover/FailoverTestBase.java
Log:
Changing test to use FailoverTestBase
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/cluster/failover/AutomaticFailoverWithDiscoveryTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/cluster/failover/AutomaticFailoverWithDiscoveryTest.java 2009-03-19 21:14:45 UTC (rev 6118)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/cluster/failover/AutomaticFailoverWithDiscoveryTest.java 2009-03-20 00:30:55 UTC (rev 6119)
@@ -22,31 +22,17 @@
package org.jboss.messaging.tests.integration.cluster.failover;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
import org.jboss.messaging.core.client.ClientConsumer;
import org.jboss.messaging.core.client.ClientMessage;
import org.jboss.messaging.core.client.ClientProducer;
import org.jboss.messaging.core.client.ClientSession;
import org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl;
import org.jboss.messaging.core.client.impl.ClientSessionImpl;
-import org.jboss.messaging.core.config.Configuration;
-import org.jboss.messaging.core.config.TransportConfiguration;
-import org.jboss.messaging.core.config.cluster.BroadcastGroupConfiguration;
-import org.jboss.messaging.core.config.impl.ConfigurationImpl;
import org.jboss.messaging.core.exception.MessagingException;
import org.jboss.messaging.core.logging.Logger;
import org.jboss.messaging.core.remoting.RemotingConnection;
import org.jboss.messaging.core.remoting.impl.invm.InVMRegistry;
-import org.jboss.messaging.core.remoting.impl.invm.TransportConstants;
-import org.jboss.messaging.core.server.Messaging;
-import org.jboss.messaging.core.server.MessagingService;
import org.jboss.messaging.jms.client.JBossTextMessage;
-import org.jboss.messaging.tests.util.UnitTestCase;
-import org.jboss.messaging.utils.Pair;
import org.jboss.messaging.utils.SimpleString;
/**
@@ -59,7 +45,7 @@
*
*
*/
-public class AutomaticFailoverWithDiscoveryTest extends UnitTestCase
+public class AutomaticFailoverWithDiscoveryTest extends FailoverTestBase
{
private static final Logger log = Logger.getLogger(AutomaticFailoverWithDiscoveryTest.class);
@@ -69,17 +55,10 @@
private static final SimpleString ADDRESS = new SimpleString("FailoverTestAddress");
- private MessagingService liveService;
-
- private MessagingService backupService;
-
- private final Map<String, Object> backupParams = new HashMap<String, Object>();
-
private final String groupAddress = "230.1.2.3";
private final int groupPort = 8765;
-
// Static --------------------------------------------------------
// Constructors --------------------------------------------------
@@ -91,7 +70,7 @@
ClientSessionFactoryImpl sf = new ClientSessionFactoryImpl(groupAddress, groupPort);
ClientSession session = sf.createSession(false, true, true);
-
+
log.info("Created session");
session.createQueue(ADDRESS, ADDRESS, null, false, false);
@@ -121,13 +100,21 @@
session.start();
+ boolean outOfOrder = false;
+
for (int i = 0; i < numMessages / 2; i++)
{
ClientMessage message2 = consumer.receive();
assertEquals("aardvarks", message2.getBody().readString());
- assertEquals(i, message2.getProperty(new SimpleString("count")));
+ if (i != (Integer)message2.getProperty(new SimpleString("count")))
+ {
+ System.out.println("Messages received out of order, " + i +
+ " != " +
+ message2.getProperty(new SimpleString("count")));
+ outOfOrder = true;
+ }
message2.acknowledge();
}
@@ -146,16 +133,33 @@
assertEquals("aardvarks", message2.getBody().readString());
- assertEquals(i, message2.getProperty(new SimpleString("count")));
+ if (i != (Integer)message2.getProperty(new SimpleString("count")))
+ {
+ System.out.println("Messages received out of order, " + i +
+ " != " +
+ message2.getProperty(new SimpleString("count")));
+ outOfOrder = true;
+ }
message2.acknowledge();
}
ClientMessage message3 = consumer.receive(250);
+ if (message3 != null)
+ {
+ do
+ {
+ System.out.println("Message " + message3.getProperty(new SimpleString("count")) + " was duplicated");
+ message3 = consumer.receive(1000);
+ }
+ while (message3 != null);
+ fail("Duplicated messages received on test");
+ }
+
session.close();
- assertNull(message3);
+ assertFalse("Messages received out of order, look at System.out for more details", outOfOrder);
assertEquals(0, sf.numSessions());
@@ -170,54 +174,7 @@
protected void setUp() throws Exception
{
super.setUp();
-
- Configuration backupConf = new ConfigurationImpl();
- backupConf.setSecurityEnabled(false);
- backupConf.setClustered(true);
- backupParams.put(TransportConstants.SERVER_ID_PROP_NAME, 1);
- backupConf.getAcceptorConfigurations()
- .add(new TransportConfiguration("org.jboss.messaging.core.remoting.impl.invm.InVMAcceptorFactory",
- backupParams));
- backupConf.setBackup(true);
- backupService = Messaging.newNullStorageMessagingService(backupConf);
- backupService.start();
-
- Configuration liveConf = new ConfigurationImpl();
- liveConf.setSecurityEnabled(false);
- TransportConfiguration liveTC = new TransportConfiguration("org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory");
- liveConf.getAcceptorConfigurations()
- .add(new TransportConfiguration("org.jboss.messaging.core.remoting.impl.invm.InVMAcceptorFactory"));
- Map<String, TransportConfiguration> connectors = new HashMap<String, TransportConfiguration>();
- TransportConfiguration backupTC = new TransportConfiguration("org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory",
- backupParams);
- connectors.put(backupTC.getName(), backupTC);
- connectors.put(liveTC.getName(), liveTC);
- liveConf.setConnectorConfigurations(connectors);
- liveConf.setBackupConnectorName(backupTC.getName());
- liveConf.setClustered(true);
-
- List<Pair<String, String>> connectorNames = new ArrayList<Pair<String, String>>();
- connectorNames.add(new Pair<String, String>(liveTC.getName(), backupTC.getName()));
-
- final long broadcastPeriod = 250;
-
- final String bcGroupName = "bc1";
-
- final int localBindPort = 5432;
-
- BroadcastGroupConfiguration bcConfig1 = new BroadcastGroupConfiguration(bcGroupName,
- localBindPort,
- groupAddress,
- groupPort,
- broadcastPeriod,
- connectorNames);
-
- List<BroadcastGroupConfiguration> bcConfigs1 = new ArrayList<BroadcastGroupConfiguration>();
- bcConfigs1.add(bcConfig1);
- liveConf.setBroadcastGroupConfigurations(bcConfigs1);
-
- liveService = Messaging.newNullStorageMessagingService(liveConf);
- liveService.start();
+ setupGroupServers(true, "bc1", 5432, groupAddress, groupPort);
}
@Override
@@ -228,7 +185,7 @@
liveService.stop();
assertEquals(0, InVMRegistry.instance.size());
-
+
super.tearDown();
}
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/cluster/failover/FailoverTestBase.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/cluster/failover/FailoverTestBase.java 2009-03-19 21:14:45 UTC (rev 6118)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/cluster/failover/FailoverTestBase.java 2009-03-20 00:30:55 UTC (rev 6119)
@@ -23,13 +23,16 @@
package org.jboss.messaging.tests.integration.cluster.failover;
import java.io.File;
+import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import org.jboss.messaging.core.client.ClientSessionFactory;
import org.jboss.messaging.core.client.impl.ClientSessionFactoryImpl;
import org.jboss.messaging.core.config.Configuration;
import org.jboss.messaging.core.config.TransportConfiguration;
+import org.jboss.messaging.core.config.cluster.BroadcastGroupConfiguration;
import org.jboss.messaging.core.config.impl.ConfigurationImpl;
import org.jboss.messaging.core.remoting.impl.invm.InVMAcceptorFactory;
import org.jboss.messaging.core.remoting.impl.invm.InVMRegistry;
@@ -39,6 +42,7 @@
import org.jboss.messaging.core.server.MessagingService;
import org.jboss.messaging.core.settings.impl.AddressSettings;
import org.jboss.messaging.tests.util.ServiceTestBase;
+import org.jboss.messaging.utils.Pair;
/**
* A FailoverTestBase
@@ -88,51 +92,58 @@
protected void setUpFileBased(final long maxGlobalSize, final int pageSize) throws Exception
{
+ setUpFailoverServers(true, maxGlobalSize, pageSize);
+ }
+ /*
+ *
+
+ */
+
+ protected void setUpFailoverServers(boolean fileBased,
+ final long maxGlobalSize,
+ final int pageSize) throws Exception
+ {
deleteDirectory(new File(getTestDir()));
Configuration backupConf = new ConfigurationImpl();
-
- backupConf.setJournalDirectory(getJournalDir(getTestDir() + "/backup"));
- backupConf.setLargeMessagesDirectory(getLargeMessagesDir(getTestDir() + "/backup"));
- backupConf.setBindingsDirectory(getBindingsDir(getTestDir() + "/backup"));
- backupConf.setPagingDirectory(getPageDir(getTestDir() + "/backup"));
- backupConf.setJournalFileSize(100 * 1024);
-
- backupConf.setJournalType(JournalType.NIO);
-
- backupConf.setPagingMaxGlobalSizeBytes(maxGlobalSize);
- backupConf.setPagingGlobalWatermarkSize(pageSize);
-
backupConf.setSecurityEnabled(false);
+ backupConf.setClustered(true);
+ backupConf.setBackup(true);
backupParams.put(TransportConstants.SERVER_ID_PROP_NAME, 1);
-
backupConf.getAcceptorConfigurations()
.add(new TransportConfiguration(InVMAcceptorFactory.class.getCanonicalName(), backupParams));
- backupConf.setBackup(true);
- clearData(getTestDir() + "/backup");
+ if (fileBased)
+ {
+ clearData(getTestDir() + "/backup");
- backupService = Messaging.newMessagingService(backupConf);
- backupService.start();
+ backupConf.setJournalDirectory(getJournalDir(getTestDir() + "/backup"));
+ backupConf.setLargeMessagesDirectory(getLargeMessagesDir(getTestDir() + "/backup"));
+ backupConf.setBindingsDirectory(getBindingsDir(getTestDir() + "/backup"));
+ backupConf.setPagingDirectory(getPageDir(getTestDir() + "/backup"));
+ backupConf.setJournalFileSize(100 * 1024);
- Configuration liveConf = new ConfigurationImpl();
+ backupConf.setJournalType(JournalType.NIO);
- liveConf.setJournalDirectory(getJournalDir(getTestDir() + "/live"));
- liveConf.setLargeMessagesDirectory(getLargeMessagesDir(getTestDir() + "/live"));
- liveConf.setBindingsDirectory(getBindingsDir(getTestDir() + "/live"));
- liveConf.setPagingDirectory(getPageDir(getTestDir() + "/live"));
+ backupConf.setPagingMaxGlobalSizeBytes(maxGlobalSize);
+ backupConf.setPagingGlobalWatermarkSize(pageSize);
+ backupService = Messaging.newMessagingService(backupConf);
+ }
+ else
+ {
+ backupService = Messaging.newNullStorageMessagingService(backupConf);
+ }
- liveConf.setPagingMaxGlobalSizeBytes(maxGlobalSize);
- liveConf.setPagingGlobalWatermarkSize(pageSize);
- liveConf.setJournalFileSize(100 * 1024);
-
- liveConf.setJournalType(JournalType.NIO);
+ backupService.start();
+ Configuration liveConf = new ConfigurationImpl();
liveConf.setSecurityEnabled(false);
- liveConf.getAcceptorConfigurations()
- .add(new TransportConfiguration(InVMAcceptorFactory.class.getCanonicalName()));
+ liveConf.setClustered(true);
+ TransportConfiguration liveTC = new TransportConfiguration(InVMAcceptorFactory.class.getCanonicalName());
+ liveConf.getAcceptorConfigurations().add(liveTC);
+
Map<String, TransportConfiguration> connectors = new HashMap<String, TransportConfiguration>();
TransportConfiguration backupTC = new TransportConfiguration(INVM_CONNECTOR_FACTORY,
@@ -141,18 +152,129 @@
connectors.put(backupTC.getName(), backupTC);
liveConf.setConnectorConfigurations(connectors);
liveConf.setBackupConnectorName(backupTC.getName());
- liveService = Messaging.newMessagingService(liveConf);
-
+
+ if (fileBased)
+ {
+ liveConf.setJournalDirectory(getJournalDir(getTestDir() + "/live"));
+ liveConf.setLargeMessagesDirectory(getLargeMessagesDir(getTestDir() + "/live"));
+ liveConf.setBindingsDirectory(getBindingsDir(getTestDir() + "/live"));
+ liveConf.setPagingDirectory(getPageDir(getTestDir() + "/live"));
+
+ liveConf.setPagingMaxGlobalSizeBytes(maxGlobalSize);
+ liveConf.setPagingGlobalWatermarkSize(pageSize);
+ liveConf.setJournalFileSize(100 * 1024);
+
+ liveConf.setJournalType(JournalType.NIO);
+ }
+
+ if (fileBased)
+ {
+ liveService = Messaging.newMessagingService(liveConf);
+ }
+ else
+ {
+ liveService = Messaging.newNullStorageMessagingService(liveConf);
+ }
+
AddressSettings settings = new AddressSettings();
settings.setPageSizeBytes(pageSize);
-
+
liveService.getServer().getAddressSettingsRepository().addMatch("#", settings);
backupService.getServer().getAddressSettingsRepository().addMatch("#", settings);
clearData(getTestDir() + "/live");
+
+ liveService.start();
+ }
+
+ protected void setupGroupServers(boolean fileBased, String bcGroupName, int localBindPort, String groupAddress, int groupPort) throws Exception
+ {
+ Configuration backupConf = new ConfigurationImpl();
+ backupConf.setSecurityEnabled(false);
+ backupConf.setClustered(true);
+ backupParams.put(TransportConstants.SERVER_ID_PROP_NAME, 1);
+ backupConf.getAcceptorConfigurations()
+ .add(new TransportConfiguration("org.jboss.messaging.core.remoting.impl.invm.InVMAcceptorFactory",
+ backupParams));
+ backupConf.setBackup(true);
+ if (fileBased)
+ {
+ clearData(getTestDir() + "/backup");
+
+ backupConf.setJournalDirectory(getJournalDir(getTestDir() + "/backup"));
+ backupConf.setLargeMessagesDirectory(getLargeMessagesDir(getTestDir() + "/backup"));
+ backupConf.setBindingsDirectory(getBindingsDir(getTestDir() + "/backup"));
+ backupConf.setPagingDirectory(getPageDir(getTestDir() + "/backup"));
+ backupConf.setJournalFileSize(100 * 1024);
+
+ backupConf.setJournalType(JournalType.NIO);
+
+ backupConf.setPagingMaxGlobalSizeBytes(-1);
+ backupConf.setPagingGlobalWatermarkSize(-1);
+ backupService = Messaging.newMessagingService(backupConf);
+ }
+ else
+ {
+ backupService = Messaging.newNullStorageMessagingService(backupConf);
+ }
+
+ backupService.start();
+
+ Configuration liveConf = new ConfigurationImpl();
+ liveConf.setSecurityEnabled(false);
+ TransportConfiguration liveTC = new TransportConfiguration("org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory");
+ liveConf.getAcceptorConfigurations()
+ .add(new TransportConfiguration("org.jboss.messaging.core.remoting.impl.invm.InVMAcceptorFactory"));
+ Map<String, TransportConfiguration> connectors = new HashMap<String, TransportConfiguration>();
+ TransportConfiguration backupTC = new TransportConfiguration("org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory",
+ backupParams);
+ connectors.put(backupTC.getName(), backupTC);
+ connectors.put(liveTC.getName(), liveTC);
+ liveConf.setConnectorConfigurations(connectors);
+ liveConf.setBackupConnectorName(backupTC.getName());
+ liveConf.setClustered(true);
+
+ List<Pair<String, String>> connectorNames = new ArrayList<Pair<String, String>>();
+ connectorNames.add(new Pair<String, String>(liveTC.getName(), backupTC.getName()));
+
+ final long broadcastPeriod = 250;
+
+ BroadcastGroupConfiguration bcConfig1 = new BroadcastGroupConfiguration(bcGroupName,
+ localBindPort,
+ groupAddress,
+ groupPort,
+ broadcastPeriod,
+ connectorNames);
+
+ List<BroadcastGroupConfiguration> bcConfigs1 = new ArrayList<BroadcastGroupConfiguration>();
+ bcConfigs1.add(bcConfig1);
+ liveConf.setBroadcastGroupConfigurations(bcConfigs1);
+
+ if (fileBased)
+ {
+ liveConf.setJournalDirectory(getJournalDir(getTestDir() + "/live"));
+ liveConf.setLargeMessagesDirectory(getLargeMessagesDir(getTestDir() + "/live"));
+ liveConf.setBindingsDirectory(getBindingsDir(getTestDir() + "/live"));
+ liveConf.setPagingDirectory(getPageDir(getTestDir() + "/live"));
+
+ liveConf.setPagingMaxGlobalSizeBytes(-1);
+ liveConf.setPagingGlobalWatermarkSize(-1);
+ liveConf.setJournalFileSize(100 * 1024);
+
+ liveConf.setJournalType(JournalType.NIO);
+ liveService = Messaging.newMessagingService(liveConf);
+ }
+ else
+ {
+ liveService = Messaging.newNullStorageMessagingService(liveConf);
+ }
+
+ liveService = Messaging.newNullStorageMessagingService(liveConf);
liveService.start();
+
}
+
// Package protected ---------------------------------------------
@@ -161,25 +283,25 @@
protected void tearDown() throws Exception
{
stopServers();
-
+
super.tearDown();
}
-
+
protected void stopServers() throws Exception
{
if (backupService != null && backupService.isStarted())
{
backupService.stop();
-
+
backupService = null;
}
-
+
if (liveService != null && liveService.isStarted())
{
liveService.stop();
-
+
liveService = null;
-
+
}
assertEquals(0, InVMRegistry.instance.size());
More information about the jboss-cvs-commits
mailing list