[jboss-cvs] JBoss Messaging SVN: r2954 - in trunk: src/main/org/jboss/messaging/core/impl/clusterconnection and 3 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Aug 6 08:40:18 EDT 2007
Author: timfox
Date: 2007-08-06 08:40:17 -0400 (Mon, 06 Aug 2007)
New Revision: 2954
Modified:
trunk/src/main/org/jboss/jms/server/ServerPeer.java
trunk/src/main/org/jboss/messaging/core/impl/clusterconnection/ClusterConnectionManager.java
trunk/tests/build.xml
trunk/tests/src/org/jboss/test/messaging/jms/clustering/DistributedQueueDontUseXATest.java
trunk/tests/src/org/jboss/test/messaging/jms/clustering/DistributedQueueTestBase.java
trunk/tests/src/org/jboss/test/messaging/jms/clustering/DistributedQueueUseXATest.java
trunk/tests/src/org/jboss/test/messaging/jms/clustering/DistributedRequestResponseTest.java
trunk/tests/src/org/jboss/test/messaging/jms/clustering/DistributedTopicTest.java
trunk/tests/src/org/jboss/test/messaging/jms/clustering/NewClusteringTestBase.java
trunk/tests/src/org/jboss/test/messaging/tools/container/LocalTestServer.java
trunk/tests/src/org/jboss/test/messaging/tools/container/RMITestServer.java
trunk/tests/src/org/jboss/test/messaging/tools/container/Server.java
Log:
More work on speeding up clustering tests
Modified: trunk/src/main/org/jboss/jms/server/ServerPeer.java
===================================================================
--- trunk/src/main/org/jboss/jms/server/ServerPeer.java 2007-08-04 11:19:10 UTC (rev 2953)
+++ trunk/src/main/org/jboss/jms/server/ServerPeer.java 2007-08-06 12:40:17 UTC (rev 2954)
@@ -597,13 +597,14 @@
return useXAForMessagePull;
}
- public void setUseXAForMessagePull(boolean useXA)
+ public void setUseXAForMessagePull(boolean useXA) throws Exception
{
+ this.useXAForMessagePull = useXA;
+
if (started)
- {
- throw new IllegalStateException("Cannot set UseXAForMessagePull while the service is running");
- }
- this.useXAForMessagePull = useXA;
+ {
+ clusterConnectionManager.setIsXA(useXA);
+ }
}
public boolean isDefaultPreserveOrdering()
@@ -1046,7 +1047,7 @@
{
clusterConnectionManager.resetAllSuckers();
}
-
+
public byte[] getClientAOPStack()
{
return clientAOPStack;
Modified: trunk/src/main/org/jboss/messaging/core/impl/clusterconnection/ClusterConnectionManager.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/impl/clusterconnection/ClusterConnectionManager.java 2007-08-04 11:19:10 UTC (rev 2953)
+++ trunk/src/main/org/jboss/messaging/core/impl/clusterconnection/ClusterConnectionManager.java 2007-08-06 12:40:17 UTC (rev 2954)
@@ -161,6 +161,32 @@
}
}
+ public void setIsXA(boolean xa) throws Exception
+ {
+ boolean needToClose = this.xa != xa;
+ if (needToClose)
+ {
+ closeAllSuckers();
+ }
+ this.xa = xa;
+ if (needToClose)
+ {
+ createAllSuckers();
+ }
+ }
+
+ public void closeAllSuckers()
+ {
+ Iterator iter = connections.values().iterator();
+
+ while (iter.hasNext())
+ {
+ ConnectionInfo conn = (ConnectionInfo)iter.next();
+
+ conn.closeAllSuckers();
+ }
+ }
+
/*
* We respond to two types of events -
*
@@ -624,11 +650,9 @@
sucker.setConsuming(false);
}
-
-
}
- synchronized void close()
+ synchronized void closeAllSuckers()
{
Iterator iter = suckers.values().iterator();
@@ -640,8 +664,12 @@
}
suckers.clear();
+ }
+
+ synchronized void close()
+ {
+ closeAllSuckers();
-
//Note we use a timed callable since remoting has a habit of hanging on attempting to close
//We do not want this to hang the system - especially failover
@@ -668,7 +696,6 @@
//Ignore - the server might have already closed - so this is ok
}
-
connection = null;
started = false;
Modified: trunk/tests/build.xml
===================================================================
--- trunk/tests/build.xml 2007-08-04 11:19:10 UTC (rev 2953)
+++ trunk/tests/build.xml 2007-08-06 12:40:17 UTC (rev 2954)
@@ -756,8 +756,12 @@
<include name="**/jms/clustering/ClusterConnectionManagerTest.class"/>
<include name="**/jms/clustering/ClusteredConnectionFactoryTest.class"/>
<include name="**/jms/clustering/ClusteringAspectInternalTest.class"/>
-<include name="**/jms/clustering/ClusterViewUpdateTest.class"/>
+<!-- <include name="**/jms/clustering/ClusterViewUpdateTest.class"/> -->
<include name="**/jms/clustering/DisableLoadBalancingAndFailoverTest.class"/>
+<include name="**/jms/clustering/DistributedQueueDontUseXATest.class"/>
+<include name="**/jms/clustering/DistributedQueueUseXATest.class"/>
+<include name="**/jms/clustering/DistributedRequestResponseTest.class"/>
+<include name="**/jms/clustering/DistributedTopicTest.class"/>
</fileset>
</batchtest>
</junit>
Modified: trunk/tests/src/org/jboss/test/messaging/jms/clustering/DistributedQueueDontUseXATest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/clustering/DistributedQueueDontUseXATest.java 2007-08-04 11:19:10 UTC (rev 2953)
+++ trunk/tests/src/org/jboss/test/messaging/jms/clustering/DistributedQueueDontUseXATest.java 2007-08-06 12:40:17 UTC (rev 2954)
@@ -21,9 +21,8 @@
*/
package org.jboss.test.messaging.jms.clustering;
-import javax.management.ObjectName;
+import org.jboss.test.messaging.tools.ServerManagement;
-import org.jboss.test.messaging.tools.container.ServiceAttributeOverrides;
/**
*
@@ -51,29 +50,20 @@
// Public --------------------------------------------------------
-
// Package private ---------------------------------------------
// protected ----------------------------------------------------
protected void setUp() throws Exception
{
- nodeCount = 3;
-
- overrides = new ServiceAttributeOverrides();
-
- overrides.put(new ObjectName("jboss.messaging:service=ServerPeer"), "UseXAForMessagePull", "false");
-
super.setUp();
- log.debug("setup done");
+ for (int i = 0; i < nodeCount; i++)
+ {
+ ServerManagement.getServer(i).setUseXAForMessagePull(false);
+ }
}
-
- protected void tearDown() throws Exception
- {
- super.tearDown();
- }
-
+
// private -----------------------------------------------------
// Private -------------------------------------------------------
Modified: trunk/tests/src/org/jboss/test/messaging/jms/clustering/DistributedQueueTestBase.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/clustering/DistributedQueueTestBase.java 2007-08-04 11:19:10 UTC (rev 2953)
+++ trunk/tests/src/org/jboss/test/messaging/jms/clustering/DistributedQueueTestBase.java 2007-08-06 12:40:17 UTC (rev 2954)
@@ -33,7 +33,6 @@
import javax.jms.Session;
import javax.jms.TextMessage;
-import org.jboss.jms.client.JBossConnectionFactory;
import org.jboss.test.messaging.tools.ServerManagement;
@@ -97,13 +96,11 @@
public void testWithConnectionsOnAllNodesClientAck() throws Exception
{
- JBossConnectionFactory factory = (JBossConnectionFactory) ic[0].lookup("/ClusteredConnectionFactory");
-
- Connection conn0 = createConnectionOnServer(factory, 0);
+ Connection conn0 = createConnectionOnServer(cf, 0);
- Connection conn1 = createConnectionOnServer(factory, 1);
+ Connection conn1 = createConnectionOnServer(cf, 1);
- Connection conn2 = createConnectionOnServer(factory, 2);
+ Connection conn2 = createConnectionOnServer(cf, 2);
try
{
@@ -143,6 +140,8 @@
msgIds.add(tm0_1.getText());
}
+ tm0_1.acknowledge();
+
cons0_1.close();
Session sess0_2 = conn0.createSession(false, Session.CLIENT_ACKNOWLEDGE);
@@ -160,6 +159,8 @@
msgIds.add(tm0_2.getText());
}
+ tm0_2.acknowledge();
+
cons0_2.close();
@@ -180,6 +181,8 @@
msgIds.add(tm1_1.getText());
}
+ tm1_1.acknowledge();
+
cons1_1.close();
Session sess1_2 = conn1.createSession(false, Session.CLIENT_ACKNOWLEDGE);
@@ -197,6 +200,8 @@
msgIds.add(tm1_2.getText());
}
+ tm1_2.acknowledge();
+
cons1_2.close();
@@ -217,6 +222,8 @@
msgIds.add(tm2_1.getText());
}
+ tm2_1.acknowledge();
+
cons2_1.close();
Session sess2_2 = conn2.createSession(false, Session.CLIENT_ACKNOWLEDGE);
@@ -234,6 +241,8 @@
msgIds.add(tm2_2.getText());
}
+ tm2_2.acknowledge();
+
cons2_2.close();
assertEquals(numMessages, msgIds.size());
@@ -332,8 +341,6 @@
if (tm != null)
{
msgs.add(tm.getText());
-
- log.info("Got message " + tm.getText());
}
}
while (tm != null);
@@ -385,15 +392,8 @@
nodeCount = 3;
super.setUp();
-
- log.debug("setup done");
}
- protected void tearDown() throws Exception
- {
- super.tearDown();
- }
-
// private -----------------------------------------------------
Modified: trunk/tests/src/org/jboss/test/messaging/jms/clustering/DistributedQueueUseXATest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/clustering/DistributedQueueUseXATest.java 2007-08-04 11:19:10 UTC (rev 2953)
+++ trunk/tests/src/org/jboss/test/messaging/jms/clustering/DistributedQueueUseXATest.java 2007-08-06 12:40:17 UTC (rev 2954)
@@ -21,10 +21,8 @@
*/
package org.jboss.test.messaging.jms.clustering;
-import javax.management.ObjectName;
+import org.jboss.test.messaging.tools.ServerManagement;
-import org.jboss.test.messaging.tools.container.ServiceAttributeOverrides;
-
/**
*
* @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
@@ -58,22 +56,14 @@
protected void setUp() throws Exception
{
- nodeCount = 3;
-
- overrides = new ServiceAttributeOverrides();
-
- overrides.put(new ObjectName("jboss.messaging:service=ServerPeer"), "UseXAForMessagePull", "true");
-
super.setUp();
- log.debug("setup done");
+ for (int i = 0; i < nodeCount; i++)
+ {
+ ServerManagement.getServer(i).setUseXAForMessagePull(true);
+ }
}
- protected void tearDown() throws Exception
- {
- super.tearDown();
- }
-
// private -----------------------------------------------------
// Private -------------------------------------------------------
Modified: trunk/tests/src/org/jboss/test/messaging/jms/clustering/DistributedRequestResponseTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/clustering/DistributedRequestResponseTest.java 2007-08-04 11:19:10 UTC (rev 2953)
+++ trunk/tests/src/org/jboss/test/messaging/jms/clustering/DistributedRequestResponseTest.java 2007-08-06 12:40:17 UTC (rev 2954)
@@ -22,7 +22,6 @@
package org.jboss.test.messaging.jms.clustering;
import javax.jms.Connection;
-import javax.jms.ConnectionFactory;
import javax.jms.DeliveryMode;
import javax.jms.Destination;
import javax.jms.JMSException;
@@ -30,14 +29,9 @@
import javax.jms.MessageConsumer;
import javax.jms.MessageListener;
import javax.jms.MessageProducer;
-import javax.jms.Queue;
import javax.jms.Session;
import javax.jms.TextMessage;
-import javax.naming.InitialContext;
-import org.jboss.test.messaging.MessagingTestCase;
-import org.jboss.test.messaging.tools.ServerManagement;
-
/**
* A test for distributed request-response pattern
*
@@ -46,7 +40,7 @@
*
* $Id: TemporaryDestinationTest.java 2701 2007-05-17 16:01:05Z timfox $
*/
-public class DistributedRequestResponseTest extends MessagingTestCase
+public class DistributedRequestResponseTest extends NewClusteringTestBase
{
// Constants ------------------------------------------------------------------------------------
@@ -89,29 +83,14 @@
protected void setUp() throws Exception
{
+ nodeCount = 2;
+
super.setUp();
-
- ServerManagement.start(0, "all", null, true);
- ServerManagement.start(1, "all", null, false);
-
- ServerManagement.deployQueue("testDistributedQueue", 0);
- ServerManagement.deployQueue("testDistributedQueue", 1);
-
- removeAllMessages("testDistributedQueue", true, 0);
- removeAllMessages("testDistributedQueue", true, 1);
-
-
-
- log.debug("setup done");
}
protected void tearDown() throws Exception
{
- super.tearDown();
-
- ServerManagement.undeployQueue("testDistributedQueue", 0);
-
- ServerManagement.undeployQueue("testDistributedQueue", 1);
+ super.tearDown();
}
// Private --------------------------------------------------------------------------------------
@@ -123,25 +102,11 @@
Connection conn1 = null;
try
- {
- InitialContext ic0 = new InitialContext(ServerManagement.getJNDIEnvironment(0));
- InitialContext ic1 = new InitialContext(ServerManagement.getJNDIEnvironment(1));
-
- ConnectionFactory cf = (ConnectionFactory)ic0.lookup("/ClusteredConnectionFactory");
-
- Queue queue0 = (Queue)ic0.lookup("/queue/testDistributedQueue");
- Queue queue1 = (Queue)ic1.lookup("/queue/testDistributedQueue");
-
+ {
conn0 = this.createConnectionOnServer(cf, 0);
- conn1 = cf.createConnection();
+ conn1 = this.createConnectionOnServer(cf, 1);
- assertEquals(0, getServerId(conn0));
-
- assertEquals(1, getServerId(conn1));
-
- // Make sure the connections are on different servers
-
Session session0 = conn0.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination tempDest;
@@ -174,7 +139,6 @@
{
try
{
- log.info("Received message in listener!");
Destination dest = msg.getJMSReplyTo();
MessageProducer prod = sess.createProducer(dest);
prod.setDeliveryMode(persistent ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT);
@@ -182,7 +146,6 @@
String text = tm.getText();
tm.clearBody();
tm.setText(text + "reply");
- log.info("Sending response");
prod.send(msg);
}
catch (JMSException e)
@@ -197,7 +160,7 @@
Session session1 = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE);
- MessageConsumer cons1 = session1.createConsumer(queue1);
+ MessageConsumer cons1 = session1.createConsumer(queue[1]);
MyListener listener = new MyListener(session1);
@@ -206,7 +169,7 @@
conn1.start();
- MessageProducer prod = session0.createProducer(queue0);
+ MessageProducer prod = session0.createProducer(queue[0]);
prod.setDeliveryMode(persistent ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT);
@@ -216,8 +179,6 @@
sm.setJMSReplyTo(tempDest);
- log.info("Sending message!");
-
prod.send(sm);
TextMessage tm = (TextMessage)cons0.receive(60000);
@@ -225,8 +186,6 @@
assertNotNull(tm);
assertEquals(sm.getText() + "reply", tm.getText());
-
- log.info("Received reply!");
}
}
finally
Modified: trunk/tests/src/org/jboss/test/messaging/jms/clustering/DistributedTopicTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/clustering/DistributedTopicTest.java 2007-08-04 11:19:10 UTC (rev 2953)
+++ trunk/tests/src/org/jboss/test/messaging/jms/clustering/DistributedTopicTest.java 2007-08-06 12:40:17 UTC (rev 2954)
@@ -44,7 +44,7 @@
* $Id$
*
*/
-public class DistributedTopicTest extends ClusteringTestBase
+public class DistributedTopicTest extends NewClusteringTestBase
{
// Constants -----------------------------------------------------
@@ -147,9 +147,6 @@
ServerManagement.deployTopic("nonClusteredTopic", "nonClusteredTopic", 300000, 3000, 3000, 1, false);
ServerManagement.deployTopic("nonClusteredTopic", "nonClusteredTopic", 300000, 3000, 3000, 2, false);
-
-
- log.debug("setup done");
}
protected void tearDown() throws Exception
@@ -529,6 +526,8 @@
MessageConsumer epsilon = sess1.createDurableSubscriber(topic[1], "epsilon");
+ Thread.sleep(2000);
+
conn0.start();
conn1.start();
conn2.start();
@@ -711,8 +710,7 @@
}
}
-
-
+
/*
* Create shared durable subs on multiple nodes, the local instance should always get the message
*/
Modified: trunk/tests/src/org/jboss/test/messaging/jms/clustering/NewClusteringTestBase.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/clustering/NewClusteringTestBase.java 2007-08-04 11:19:10 UTC (rev 2953)
+++ trunk/tests/src/org/jboss/test/messaging/jms/clustering/NewClusteringTestBase.java 2007-08-06 12:40:17 UTC (rev 2954)
@@ -156,8 +156,9 @@
topic[i] = oldTopic[i];
}
- for (int i = nodeCount; i < ic.length; i++)
+ for (int i = nodeCount; i < oldIc.length; i++)
{
+ log.info("*** killing server");
ServerManagement.kill(i);
}
}
@@ -198,28 +199,17 @@
}
cf = (JBossConnectionFactory)ic[0].lookup("/ClusteredConnectionFactory");
- log.info("Looked up new clustered connection factory");
-
+ log.info("Looked up new clustered connection factory");
}
protected void tearDown() throws Exception
{
super.tearDown();
-
- //If server 0 was killed with a killOverride we must kill the others
- if (ServerManagement.getServer(0) == null)
- {
- for (int i = 1; i < nodeCount; i++)
- {
- ServerManagement.kill(i);
- }
- }
-
+
// This will tell us if any connections have been left open
assertEquals(0, ResourceManagerFactory.instance.size());
}
-
protected String getLocatorURL(Connection conn)
{
return getConnectionState(conn).getRemotingConnection().
@@ -237,9 +227,7 @@
return (ConnectionState) (((DelegateSupport) ((JBossConnection) conn).
getDelegate()).getState());
}
-
-
-
+
protected void waitForFailoverComplete(int serverID, Connection conn1)
throws Exception
{
Modified: trunk/tests/src/org/jboss/test/messaging/tools/container/LocalTestServer.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/tools/container/LocalTestServer.java 2007-08-04 11:19:10 UTC (rev 2953)
+++ trunk/tests/src/org/jboss/test/messaging/tools/container/LocalTestServer.java 2007-08-06 12:40:17 UTC (rev 2954)
@@ -901,6 +901,11 @@
{
getServerPeer().resetAllSuckers();
}
+
+ public void setUseXAForMessagePull(boolean xa) throws Exception
+ {
+ getServerPeer().setUseXAForMessagePull(xa);
+ }
// Public ---------------------------------------------------------------------------------------
Modified: trunk/tests/src/org/jboss/test/messaging/tools/container/RMITestServer.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/tools/container/RMITestServer.java 2007-08-04 11:19:10 UTC (rev 2953)
+++ trunk/tests/src/org/jboss/test/messaging/tools/container/RMITestServer.java 2007-08-06 12:40:17 UTC (rev 2954)
@@ -501,6 +501,11 @@
{
server.resetAllSuckers();
}
+
+ public void setUseXAForMessagePull(boolean xa) throws Exception
+ {
+ server.setUseXAForMessagePull(xa);
+ }
// Public --------------------------------------------------------
Modified: trunk/tests/src/org/jboss/test/messaging/tools/container/Server.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/tools/container/Server.java 2007-08-04 11:19:10 UTC (rev 2953)
+++ trunk/tests/src/org/jboss/test/messaging/tools/container/Server.java 2007-08-06 12:40:17 UTC (rev 2954)
@@ -290,4 +290,6 @@
void resetAllSuckers() throws Exception;
+ void setUseXAForMessagePull(boolean xa) throws Exception;
+
}
More information about the jboss-cvs-commits
mailing list