[jboss-cvs] JBoss Messaging SVN: r6599 - in trunk: tests/src/org/jboss/messaging/tests/integration/cluster/failover and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Apr 28 09:59:19 EDT 2009
Author: timfox
Date: 2009-04-28 09:59:19 -0400 (Tue, 28 Apr 2009)
New Revision: 6599
Modified:
trunk/src/main/org/jboss/messaging/core/remoting/impl/RemotingConnectionImpl.java
trunk/tests/src/org/jboss/messaging/tests/integration/cluster/failover/FailBackupServerTest.java
Log:
fixed test
Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/RemotingConnectionImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/RemotingConnectionImpl.java 2009-04-28 13:47:57 UTC (rev 6598)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/RemotingConnectionImpl.java 2009-04-28 13:59:19 UTC (rev 6599)
@@ -1261,6 +1261,8 @@
private void doExecuteOutstandingDelayedResults()
{
+ log.info("execute outstanding results");
+
List<Runnable> toRun = new ArrayList<Runnable>();
synchronized (replicationLock)
@@ -1283,14 +1285,15 @@
responseActionCount = 0;
- this.playedResponsesOnFailure = true;
+ playedResponsesOnFailure = true;
+
+ for (Runnable action: toRun)
+ {
+ action.run();
+ }
}
- //Run outside lock
- for (Runnable action: toRun)
- {
- action.run();
- }
+
}
public void setHandler(final ChannelHandler handler)
Modified: trunk/tests/src/org/jboss/messaging/tests/integration/cluster/failover/FailBackupServerTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/integration/cluster/failover/FailBackupServerTest.java 2009-04-28 13:47:57 UTC (rev 6598)
+++ trunk/tests/src/org/jboss/messaging/tests/integration/cluster/failover/FailBackupServerTest.java 2009-04-28 13:59:19 UTC (rev 6599)
@@ -24,7 +24,6 @@
import java.util.HashMap;
import java.util.Map;
-import java.util.Set;
import org.jboss.messaging.core.client.ClientConsumer;
import org.jboss.messaging.core.client.ClientMessage;
@@ -37,7 +36,6 @@
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;
@@ -82,135 +80,142 @@
public void testFailBackup() throws Exception
{
- ClientSessionFactoryInternal sf1 = new ClientSessionFactoryImpl(new TransportConfiguration("org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory"),
- new TransportConfiguration("org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory",
- backupParams));
+ for (int j = 0; j < 5; j++)
+ {
+ ClientSessionFactoryInternal sf1 = new ClientSessionFactoryImpl(new TransportConfiguration("org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory"),
+ new TransportConfiguration("org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory",
+ backupParams));
- sf1.setProducerWindowSize(32 * 1024);
+ sf1.setProducerWindowSize(32 * 1024);
- ClientSession session1 = sf1.createSession(false, true, true);
+ ClientSession session1 = sf1.createSession(false, true, true);
- session1.createQueue(ADDRESS, ADDRESS, null, false);
+ session1.createQueue(ADDRESS, ADDRESS, null, false);
- ClientProducer producer = session1.createProducer(ADDRESS);
+ ClientProducer producer = session1.createProducer(ADDRESS);
- final int numMessages = 1000;
+ final int numMessages = 1000;
- for (int i = 0; i < numMessages; i++)
- {
- ClientMessage message = session1.createClientMessage(JBossTextMessage.TYPE,
- false,
- 0,
- System.currentTimeMillis(),
- (byte)1);
- message.putIntProperty(new SimpleString("count"), i);
- message.getBody().writeString("aardvarks");
- producer.send(message);
- }
+ for (int i = 0; i < numMessages; i++)
+ {
+ ClientMessage message = session1.createClientMessage(JBossTextMessage.TYPE,
+ false,
+ 0,
+ System.currentTimeMillis(),
+ (byte)1);
+ message.putIntProperty(new SimpleString("count"), i);
+ message.getBody().writeString("aardvarks");
+ producer.send(message);
+ }
- ClientConsumer consumer1 = session1.createConsumer(ADDRESS);
+ ClientConsumer consumer1 = session1.createConsumer(ADDRESS);
- session1.start();
+ session1.start();
- for (int i = 0; i < numMessages; i++)
- {
+ for (int i = 0; i < numMessages; i++)
+ {
+ ClientMessage message = consumer1.receive(1000);
+
+ assertNotNull(message);
+
+ assertEquals("aardvarks", message.getBody().readString());
+
+ int count = (Integer)message.getProperty(new SimpleString("count"));
+
+ assertEquals(i, count);
+
+ if (i == 0)
+ {
+ // Fail the replicating connection - this simulates the backup server crashing
+
+ liveServer.getReplicatingChannel()
+ .getConnection()
+ .fail(new MessagingException(MessagingException.NOT_CONNECTED, "blah"));
+ }
+
+ message.acknowledge();
+ }
+
ClientMessage message = consumer1.receive(1000);
- assertNotNull(message);
+ assertNull(message);
- assertEquals("aardvarks", message.getBody().readString());
+ // Send some more
- assertEquals(i, message.getProperty(new SimpleString("count")));
-
- if (i == 0)
+ for (int i = 0; i < numMessages; i++)
{
- // Fail the replicating connection - this simulates the backup server crashing
-
- liveServer.getReplicatingChannel().getConnection().fail(new MessagingException(MessagingException.NOT_CONNECTED, "blah"));
+ message = session1.createClientMessage(JBossTextMessage.TYPE, false, 0, System.currentTimeMillis(), (byte)1);
+ message.putIntProperty(new SimpleString("count"), i);
+ message.getBody().writeString("aardvarks");
+ producer.send(message);
}
- message.acknowledge();
- }
+ for (int i = 0; i < numMessages; i++)
+ {
+ message = consumer1.receive(1000);
- ClientMessage message = consumer1.receive(1000);
+ assertNotNull(message);
- assertNull(message);
+ assertEquals("aardvarks", message.getBody().readString());
- // Send some more
+ assertEquals(i, message.getProperty(new SimpleString("count")));
- for (int i = 0; i < numMessages; i++)
- {
- message = session1.createClientMessage(JBossTextMessage.TYPE, false, 0, System.currentTimeMillis(), (byte)1);
- message.putIntProperty(new SimpleString("count"), i);
- message.getBody().writeString("aardvarks");
- producer.send(message);
- }
+ message.acknowledge();
+ }
- for (int i = 0; i < numMessages; i++)
- {
message = consumer1.receive(1000);
- assertNotNull(message);
+ assertNull(message);
- assertEquals("aardvarks", message.getBody().readString());
+ session1.close();
- assertEquals(i, message.getProperty(new SimpleString("count")));
+ // Send some more on different session factory
- message.acknowledge();
- }
+ sf1.close();
- message = consumer1.receive(1000);
+ sf1 = new ClientSessionFactoryImpl(new TransportConfiguration("org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory"));
- assertNull(message);
+ sf1.setProducerWindowSize(32 * 1024);
- session1.close();
-
- //Send some more on different session factory
-
- sf1.close();
-
- sf1 = new ClientSessionFactoryImpl(new TransportConfiguration("org.jboss.messaging.core.remoting.impl.invm.InVMConnectorFactory"));
+ session1 = sf1.createSession(false, true, true);
- sf1.setProducerWindowSize(32 * 1024);
+ producer = session1.createProducer(ADDRESS);
- session1 = sf1.createSession(false, true, true);
+ consumer1 = session1.createConsumer(ADDRESS);
- producer = session1.createProducer(ADDRESS);
-
- consumer1 = session1.createConsumer(ADDRESS);
+ session1.start();
- session1.start();
+ for (int i = 0; i < numMessages; i++)
+ {
+ message = session1.createClientMessage(JBossTextMessage.TYPE, false, 0, System.currentTimeMillis(), (byte)1);
+ message.putIntProperty(new SimpleString("count"), i);
+ message.getBody().writeString("aardvarks");
+ producer.send(message);
+ }
- for (int i = 0; i < numMessages; i++)
- {
- message = session1.createClientMessage(JBossTextMessage.TYPE,
- false,
- 0,
- System.currentTimeMillis(),
- (byte)1);
- message.putIntProperty(new SimpleString("count"), i);
- message.getBody().writeString("aardvarks");
- producer.send(message);
- }
-
- for (int i = 0; i < numMessages; i++)
- {
- message = consumer1.receive(1000);
+ for (int i = 0; i < numMessages; i++)
+ {
+ message = consumer1.receive(1000);
- assertNotNull(message);
+ assertNotNull(message);
- assertEquals("aardvarks", message.getBody().readString());
+ assertEquals("aardvarks", message.getBody().readString());
- assertEquals(i, message.getProperty(new SimpleString("count")));
+ assertEquals(i, message.getProperty(new SimpleString("count")));
- message.acknowledge();
- }
+ message.acknowledge();
+ }
- message = consumer1.receive(1000);
+ message = consumer1.receive(1000);
- assertNull(message);
+ assertNull(message);
- session1.close();
+ session1.close();
+
+ tearDown();
+
+ setUp();
+ }
}
// Package protected ---------------------------------------------
@@ -221,7 +226,7 @@
protected void setUp() throws Exception
{
super.setUp();
-
+
Configuration backupConf = new ConfigurationImpl();
backupConf.setSecurityEnabled(false);
backupParams.put(TransportConstants.SERVER_ID_PROP_NAME, 1);
@@ -238,7 +243,8 @@
.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, "backup-connector");
+ backupParams,
+ "backup-connector");
connectors.put(backupTC.getName(), backupTC);
liveConf.setConnectorConfigurations(connectors);
liveConf.setBackupConnectorName(backupTC.getName());
@@ -254,7 +260,7 @@
liveServer.stop();
assertEquals(0, InVMRegistry.instance.size());
-
+
super.tearDown();
}
More information about the jboss-cvs-commits
mailing list