[jboss-cvs] JBoss Messaging SVN: r2876 - in trunk: src/main/org/jboss/messaging/core/impl/postoffice and 4 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Jul 11 14:00:52 EDT 2007
Author: timfox
Date: 2007-07-11 14:00:52 -0400 (Wed, 11 Jul 2007)
New Revision: 2876
Modified:
trunk/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java
trunk/src/main/org/jboss/messaging/core/impl/postoffice/GroupMember.java
trunk/src/main/org/jboss/messaging/core/impl/postoffice/MessagingPostOffice.java
trunk/tests/src/org/jboss/test/messaging/jms/clustering/ChangeFailoverNodeTest.java
trunk/tests/src/org/jboss/test/messaging/jms/clustering/ClusterLeakTest.java
trunk/tests/src/org/jboss/test/messaging/jms/clustering/ClusterViewUpdateTest.java
trunk/tests/src/org/jboss/test/messaging/jms/clustering/ClusteredConnectionFactoryTest.java
trunk/tests/src/org/jboss/test/messaging/jms/clustering/ClusteringTestBase.java
trunk/tests/src/org/jboss/test/messaging/jms/clustering/DisableLoadBalancingAndFailoverTest.java
trunk/tests/src/org/jboss/test/messaging/jms/clustering/FailoverTest.java
trunk/tests/src/org/jboss/test/messaging/jms/clustering/GroupManagementTest.java
trunk/tests/src/org/jboss/test/messaging/jms/clustering/LargeClusterTest.java
trunk/tests/src/org/jboss/test/messaging/jms/clustering/MergeQueueTest.java
trunk/tests/src/org/jboss/test/messaging/jms/clustering/MultiThreadFailoverTest.java
trunk/tests/src/org/jboss/test/messaging/jms/clustering/MultipleFailoverTest.java
trunk/tests/src/org/jboss/test/messaging/jms/clustering/RecoverDeliveriesTest.java
trunk/tests/src/org/jboss/test/messaging/jms/clustering/XAFailoverTest.java
trunk/tests/src/org/jboss/test/messaging/jms/stress/clustering/FailoverStressTest.java
trunk/tests/src/org/jboss/test/messaging/tools/ServerManagement.java
trunk/tests/src/org/jboss/test/messaging/tools/jmx/rmi/RMITestServer.java
trunk/tests/src/org/jboss/test/messaging/tools/jmx/rmi/StopRMIServer.java
Log:
More fixes to tests and fixes to ServerManagement kill
Modified: trunk/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java
===================================================================
--- trunk/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java 2007-07-11 17:38:33 UTC (rev 2875)
+++ trunk/src/main/org/jboss/jms/server/endpoint/ServerSessionEndpoint.java 2007-07-11 18:00:52 UTC (rev 2876)
@@ -125,7 +125,7 @@
static final String TEMP_QUEUE_MESSAGECOUNTER_PREFIX = "TempQueue.";
- private static final long CLOSE_TIMEOUT = 10 * 10000;
+ private static final long CLOSE_TIMEOUT = 5 * 1000;
// Static ---------------------------------------------------------------------------------------
@@ -1163,7 +1163,8 @@
if (toWait <= 0)
{
- while (toDeliver.take() != null) {}
+ //Clear toDeliver
+ while (toDeliver.poll(0) != null) {}
log.warn("Timed out waiting for response to arrive");
}
Modified: trunk/src/main/org/jboss/messaging/core/impl/postoffice/GroupMember.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/impl/postoffice/GroupMember.java 2007-07-11 17:38:33 UTC (rev 2875)
+++ trunk/src/main/org/jboss/messaging/core/impl/postoffice/GroupMember.java 2007-07-11 18:00:52 UTC (rev 2876)
@@ -85,7 +85,7 @@
private QueuedExecutor viewExecutor;
- private Object setStateLock = new Object();
+ private Object waitLock = new Object();
//Still needs to be volatile since the ReadWriteLock won't synchronize between threads
private volatile boolean started;
@@ -155,6 +155,32 @@
if (trace) { log.trace(this + " is not the first member of group"); }
}
+ //Wait for the first view to arrive
+
+ synchronized (waitLock)
+ {
+ long timeRemaining = 5000; //Hardcoded for now
+
+ long start = System.currentTimeMillis();
+
+ while (currentView == null && timeRemaining > 0)
+ {
+ waitLock.wait(stateTimeout);
+
+ if (currentView == null)
+ {
+ long waited = System.currentTimeMillis() - start;
+
+ timeRemaining -= waited;
+ }
+ }
+
+ if (currentView == null)
+ {
+ throw new IllegalStateException("Timed out waiting for first view to arrive");
+ }
+ }
+
//Now we can be considered started
started = true;
}
@@ -326,7 +352,7 @@
{
//We are not the first member of the group, so let's wait for state to be got and processed
- synchronized (setStateLock)
+ synchronized (waitLock)
{
long timeRemaining = stateTimeout;
@@ -334,7 +360,7 @@
while (!started && timeRemaining > 0)
{
- setStateLock.wait(stateTimeout);
+ waitLock.wait(stateTimeout);
if (!started)
{
@@ -429,7 +455,7 @@
public void setState(byte[] bytes)
{
- synchronized (setStateLock)
+ synchronized (waitLock)
{
try
{
@@ -442,7 +468,7 @@
started = true;
- setStateLock.notify();
+ waitLock.notify();
}
}
}
Modified: trunk/src/main/org/jboss/messaging/core/impl/postoffice/MessagingPostOffice.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/impl/postoffice/MessagingPostOffice.java 2007-07-11 17:38:33 UTC (rev 2875)
+++ trunk/src/main/org/jboss/messaging/core/impl/postoffice/MessagingPostOffice.java 2007-07-11 18:00:52 UTC (rev 2876)
@@ -2928,23 +2928,10 @@
}
else
{
- log.debug(this + " did not have a queue: " + queue.getName() + " queue so no need to merge");
+ //Cannot failover if there is no queue deployed.
- Queue newQueue = new MessagingQueue(thisNodeID, queue.getName(), queue.getChannelID(), queue.isRecoverable(),
- queue.getFilter(), true);
-
- addBinding(new Binding(condition, newQueue, binding.allNodes), false);
-
- newQueue.load();
-
- //TODO - do we really want to activate ALL the queues - surely only the ones that correspond to deployed destinations??
- newQueue.activate();
-
- //FIXME there is a problem in the above code.
- //If the server crashes between deleting the binding from the database
- //and creating the new binding in the database, then the binding will be completely
- //lost from the database when the server is resurrected.
- //To remedy, both db operations need to be done in the same JBDC tx
+ throw new IllegalStateException("Cannot failover " + queue.getName() + " since it does not exist on this node. " +
+ "You must deploy your clustered destinations on ALL nodes of the cluster");
}
}
Modified: trunk/tests/src/org/jboss/test/messaging/jms/clustering/ChangeFailoverNodeTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/clustering/ChangeFailoverNodeTest.java 2007-07-11 17:38:33 UTC (rev 2875)
+++ trunk/tests/src/org/jboss/test/messaging/jms/clustering/ChangeFailoverNodeTest.java 2007-07-11 18:00:52 UTC (rev 2876)
@@ -112,146 +112,8 @@
public void testKillAllToOneAndBackAgainTransactional() throws Exception
{
this.killAllToOneAndBackAgain(true);
- }
-
- public void testFailoverToNodeWithNoQueueDeployed() throws Exception
- {
- JBossConnectionFactory factory = (JBossConnectionFactory) ic[0].lookup("/ClusteredConnectionFactory");
-
- Connection conn3 = createConnectionOnServer(factory, 3);
-
- try
- {
- SimpleFailoverListener failoverListener = new SimpleFailoverListener();
- ((JBossConnection)conn3).registerFailoverListener(failoverListener);
-
- Session sessSend = conn3.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
- MessageProducer prod2 = sessSend.createProducer(queue[2]);
-
- final int numMessages = 10;
-
- for (int i = 0; i < numMessages; i++)
- {
- TextMessage tm = sessSend.createTextMessage("message" + i);
-
- prod2.send(tm);
- }
-
- Session sess3 = conn3.createSession(false, Session.CLIENT_ACKNOWLEDGE);
-
- MessageConsumer cons3 = sess3.createConsumer(queue[3]);
-
- conn3.start();
-
- TextMessage tm = null;
-
- for (int i = 0; i < numMessages; i++)
- {
- tm = (TextMessage)cons3.receive(2000);
-
- assertNotNull(tm);
-
- assertEquals("message" + i, tm.getText());
- }
-
- //Don't ack
-
- int failoverNodeId = this.getFailoverNodeForNode(factory, 3);
-
- log.info("Failover node for node 3 is " + failoverNodeId);
-
- dumpFailoverMap(ServerManagement.getServer(3).getFailoverMap());
-
- //We now add a new node - this should cause the failover node to change
-
- ServerManagement.start(4, "all", false);
-
- //DO NOT deploy the queue on it
-
- Thread.sleep(5000);
-
- dumpFailoverMap(ServerManagement.getServer(3).getFailoverMap());
-
- int newFailoverNodeId = this.getFailoverNodeForNode(factory, 3);
-
- log.info("New failover node is " + newFailoverNodeId);
-
- assertTrue(failoverNodeId != newFailoverNodeId);
-
- //Now kill the node
-
- // The queue does not exist on the new node so it tests the case where queue merging DOES NOT occur
-
- ServerManagement.kill(3);
-
- log.info("########");
- log.info("######## KILLED NODE 3");
- log.info("########");
-
- // wait for the client-side failover to complete
-
- log.info("Waiting for failover to complete");
-
- while(true)
- {
- FailoverEvent event = failoverListener.getEvent(120000);
- if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
- {
- break;
- }
- if (event == null)
- {
- fail("Did not get expected FAILOVER_COMPLETED event");
- }
- }
-
- log.info("Failover completed");
-
- assertEquals(newFailoverNodeId, getServerId(conn3));
-
- //Now ack
-
- tm.acknowledge();
-
-
- log.info("acked");
-
- sess3.close();
-
- log.info("closed");
-
- sess3 = conn3.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
- log.info("created new session");
-
- cons3 = sess3.createConsumer(queue[3]);
-
- log.info("Created consumer");
-
- //Messages should be gone
-
- tm = (TextMessage)cons3.receive(5000);
-
- assertNull(tm);
- }
- finally
- {
- if (conn3 != null)
- {
- conn3.close();
- }
-
- try
- {
- ServerManagement.stop(4);
- }
- catch (Exception e)
- {}
- }
- }
-
-
+ }
+
// Package protected ---------------------------------------------
// Protected -----------------------------------------------------
@@ -266,7 +128,7 @@
}
protected void tearDown() throws Exception
- {
+ {
super.tearDown();
}
@@ -407,7 +269,7 @@
while(true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
@@ -465,6 +327,13 @@
{
conn0.close();
}
+
+ // Since we kill the rmi server in this test, we must kill the other servers too
+
+ for (int i = nodeCount - 1; i >= 0; i--)
+ {
+ ServerManagement.kill(i);
+ }
}
}
@@ -575,7 +444,7 @@
while(true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
@@ -632,6 +501,13 @@
{
conn0.close();
}
+
+ // Since we kill the rmi server in this test, we must kill the other servers too
+
+ for (int i = nodeCount - 1; i >= 0; i--)
+ {
+ ServerManagement.kill(i);
+ }
}
}
@@ -743,7 +619,7 @@
while(true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
@@ -901,7 +777,7 @@
while(true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
@@ -1045,7 +921,7 @@
while(true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
Modified: trunk/tests/src/org/jboss/test/messaging/jms/clustering/ClusterLeakTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/clustering/ClusterLeakTest.java 2007-07-11 17:38:33 UTC (rev 2875)
+++ trunk/tests/src/org/jboss/test/messaging/jms/clustering/ClusterLeakTest.java 2007-07-11 18:00:52 UTC (rev 2876)
@@ -154,7 +154,7 @@
// kill node 1
- ServerManagement.killAndWait(1);
+ ServerManagement.kill(1);
log.info("########");
log.info("######## KILLED NODE 1");
log.info("########");
Modified: trunk/tests/src/org/jboss/test/messaging/jms/clustering/ClusterViewUpdateTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/clustering/ClusterViewUpdateTest.java 2007-07-11 17:38:33 UTC (rev 2875)
+++ trunk/tests/src/org/jboss/test/messaging/jms/clustering/ClusterViewUpdateTest.java 2007-07-11 18:00:52 UTC (rev 2876)
@@ -71,7 +71,7 @@
assertEquals(1, getServerId(conn1));
log.info("*** killing server");
- ServerManagement.killAndWait(1);
+ ServerManagement.kill(1);
log.info("killed server");
log.info("sleeping 5 secs ...");
@@ -125,7 +125,7 @@
assertEquals(1, getServerId(conn1));
assertEquals(1, getServerId(httpConn1));
- ServerManagement.killAndWait(1);
+ ServerManagement.kill(1);
log.info("sleeping 5 secs ...");
Thread.sleep(5000);
@@ -179,7 +179,7 @@
// Disable Leasing for Failover
state.getRemotingConnection().removeConnectionListener();
- ServerManagement.killAndWait(1);
+ ServerManagement.kill(1);
Thread.sleep(10000);
Modified: trunk/tests/src/org/jboss/test/messaging/jms/clustering/ClusteredConnectionFactoryTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/clustering/ClusteredConnectionFactoryTest.java 2007-07-11 17:38:33 UTC (rev 2875)
+++ trunk/tests/src/org/jboss/test/messaging/jms/clustering/ClusteredConnectionFactoryTest.java 2007-07-11 18:00:52 UTC (rev 2876)
@@ -56,9 +56,9 @@
{
try
{
- ServerManagement.killAndWait(0);
- ServerManagement.killAndWait(1);
- ServerManagement.killAndWait(2);
+ ServerManagement.kill(0);
+ ServerManagement.kill(1);
+ ServerManagement.kill(2);
try
{
@@ -84,8 +84,8 @@
try
{
- ServerManagement.killAndWait(0);
- ServerManagement.killAndWait(1);
+ ServerManagement.kill(0);
+ ServerManagement.kill(1);
assertNotNull(((JBossConnectionFactory)cf).getDelegate().getClientAOPStack());
@@ -105,7 +105,7 @@
}
}
- ServerManagement.killAndWait(2);
+ ServerManagement.kill(2);
// need to re-start 0, it's the RMI server the other servers use
ServerManagement.start(0, "all", true);
}
@@ -121,7 +121,7 @@
conn.close();
conn = null;
- ServerManagement.killAndWait(1);
+ ServerManagement.kill(1);
conn = cf.createConnection();
assertEquals(2, getServerId(conn));
@@ -172,8 +172,8 @@
conn = createConnectionOnServer(cf, 0);
conn.close();
- ServerManagement.killAndWait(1);
- ServerManagement.killAndWait(2);
+ ServerManagement.kill(1);
+ ServerManagement.kill(2);
conn = cf.createConnection();
assertEquals(0, getServerId(conn));
@@ -196,8 +196,8 @@
conn = createConnectionOnServer(cf, 0);
conn.close();
- ServerManagement.killAndWait(1);
- ServerManagement.killAndWait(2);
+ ServerManagement.kill(1);
+ ServerManagement.kill(2);
conn = cf.createConnection();
assertEquals(0, getServerId(conn));
Modified: trunk/tests/src/org/jboss/test/messaging/jms/clustering/ClusteringTestBase.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/clustering/ClusteringTestBase.java 2007-07-11 17:38:33 UTC (rev 2875)
+++ trunk/tests/src/org/jboss/test/messaging/jms/clustering/ClusteringTestBase.java 2007-07-11 18:00:52 UTC (rev 2876)
@@ -130,6 +130,7 @@
for (int i = 0; i < nodeCount; i++)
{
+ log.info("Getting lookups for " + i);
ic[i] = new InitialContext(ServerManagement.getJNDIEnvironment(i));
queue[i] = (Queue)ic[i].lookup("queue/testDistributedQueue");
topic[i] = (Topic)ic[i].lookup("topic/testDistributedTopic");
@@ -203,7 +204,7 @@
while (true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
Modified: trunk/tests/src/org/jboss/test/messaging/jms/clustering/DisableLoadBalancingAndFailoverTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/clustering/DisableLoadBalancingAndFailoverTest.java 2007-07-11 17:38:33 UTC (rev 2875)
+++ trunk/tests/src/org/jboss/test/messaging/jms/clustering/DisableLoadBalancingAndFailoverTest.java 2007-07-11 18:00:52 UTC (rev 2876)
@@ -343,7 +343,7 @@
while(true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
Modified: trunk/tests/src/org/jboss/test/messaging/jms/clustering/FailoverTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/clustering/FailoverTest.java 2007-07-11 17:38:33 UTC (rev 2875)
+++ trunk/tests/src/org/jboss/test/messaging/jms/clustering/FailoverTest.java 2007-07-11 18:00:52 UTC (rev 2876)
@@ -74,7 +74,7 @@
while(true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
@@ -127,7 +127,7 @@
while(true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
@@ -198,7 +198,7 @@
while(true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
@@ -268,7 +268,7 @@
while(true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
@@ -340,7 +340,7 @@
while(true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
@@ -409,7 +409,7 @@
while(true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
@@ -475,7 +475,7 @@
while(true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
@@ -575,7 +575,7 @@
while(true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
@@ -658,7 +658,7 @@
while(true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
@@ -743,7 +743,7 @@
while(true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
@@ -831,7 +831,7 @@
while(true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
@@ -922,7 +922,7 @@
while(true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
@@ -1009,7 +1009,7 @@
while(true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
@@ -1096,7 +1096,7 @@
while(true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
@@ -1179,7 +1179,7 @@
while(true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
@@ -1236,19 +1236,19 @@
log.info("######## KILLED NODE 1");
log.info("########");
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
assertNotNull(event);
assertEquals(FailoverEvent.FAILURE_DETECTED, event.getType());
log.info("got " + event);
- event = failoverListener.getEvent(120000);
+ event = failoverListener.getEvent(30000);
assertNotNull(event);
assertEquals(FailoverEvent.FAILOVER_STARTED, event.getType());
log.info("got " + event);
- event = failoverListener.getEvent(120000);
+ event = failoverListener.getEvent(30000);
assertNotNull(event);
assertEquals(FailoverEvent.FAILOVER_COMPLETED, event.getType());
@@ -1298,7 +1298,7 @@
while(true)
{
- FailoverEvent event = listener.getEvent(120000);
+ FailoverEvent event = listener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_STARTED == event.getType())
{
break;
@@ -1422,7 +1422,7 @@
getDelegate()).getRemotingConnection();
rc.removeConnectionListener();
- ServerManagement.killAndWait(1);
+ ServerManagement.kill(1);
log.info("########");
log.info("######## KILLED NODE 1");
@@ -1506,7 +1506,7 @@
// kill node 1
- ServerManagement.killAndWait(1);
+ ServerManagement.kill(1);
log.info("########");
log.info("######## KILLED NODE 1");
log.info("########");
@@ -1635,7 +1635,7 @@
MessageConsumer consumer = session1.createConsumer(queue[1]);
- ServerManagement.killAndWait(1);
+ ServerManagement.kill(1);
consumer.close();
}
@@ -1675,7 +1675,7 @@
QueueBrowser browser = session1.createBrowser(queue[1]);
- ServerManagement.killAndWait(1);
+ ServerManagement.kill(1);
browser.close();
}
@@ -1713,7 +1713,7 @@
Session session = conn1.createSession(false, Session.AUTO_ACKNOWLEDGE);
- ServerManagement.killAndWait(1);
+ ServerManagement.kill(1);
session.close();
}
@@ -1748,7 +1748,7 @@
getDelegate()).getRemotingConnection();
rc.removeConnectionListener();
- ServerManagement.killAndWait(1);
+ ServerManagement.kill(1);
conn1.close();
}
@@ -1830,7 +1830,7 @@
while(true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
@@ -1948,7 +1948,7 @@
// kill node 1
- ServerManagement.killAndWait(1);
+ ServerManagement.kill(1);
log.info("########");
log.info("######## KILLED NODE 1");
log.info("########");
Modified: trunk/tests/src/org/jboss/test/messaging/jms/clustering/GroupManagementTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/clustering/GroupManagementTest.java 2007-07-11 17:38:33 UTC (rev 2875)
+++ trunk/tests/src/org/jboss/test/messaging/jms/clustering/GroupManagementTest.java 2007-07-11 18:00:52 UTC (rev 2876)
@@ -67,7 +67,7 @@
log.info("Blocking to receive notification ...");
- if (!listener.viewChanged(120000))
+ if (!listener.viewChanged(30000))
{
fail("Did not receive view change!");
}
@@ -255,7 +255,7 @@
// Wait for membership change notification
- if (!clusterEvent.viewChanged(120000))
+ if (!clusterEvent.viewChanged(30000))
{
fail("Did not receive view change after killing server 2!");
}
@@ -303,7 +303,7 @@
// Wait for FAILOVER_COMPLETED notification
- if (!clusterEvent.failoverCompleted(120000))
+ if (!clusterEvent.failoverCompleted(30000))
{
fail("Did not receive a FAILOVER_COMPLETED event after killing server 2!");
}
@@ -325,7 +325,7 @@
// Wait for FAILOVER_COMPLETED notification
- if (!clusterEvent.failoverCompleted(120000))
+ if (!clusterEvent.failoverCompleted(30000))
{
fail("Did not receive a FAILOVER_COMPLETED event after killing server 1!");
}
@@ -367,7 +367,7 @@
// start the ninth node, as there is no chance to be started by scripts
ServerManagement.start(9, "all");
- if (!clusterEvent.viewChanged(120000))
+ if (!clusterEvent.viewChanged(30000))
{
fail("Did not receive a VIEW_CHANGED event after spawning new server!");
}
Modified: trunk/tests/src/org/jboss/test/messaging/jms/clustering/LargeClusterTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/clustering/LargeClusterTest.java 2007-07-11 17:38:33 UTC (rev 2875)
+++ trunk/tests/src/org/jboss/test/messaging/jms/clustering/LargeClusterTest.java 2007-07-11 18:00:52 UTC (rev 2876)
@@ -74,7 +74,7 @@
// wait for change to propagate
- if (!clusterEvent.viewChanged(120000))
+ if (!clusterEvent.viewChanged(30000))
{
fail("Did not receive a VIEW_CHANGED event after spawning new server!");
}
@@ -125,7 +125,7 @@
ServerManagement.stop(3);
- if (!clusterEvent.viewChanged(120000))
+ if (!clusterEvent.viewChanged(30000))
{
fail("Did not receive a VIEW_CHANGED event after spawning new server!");
}
@@ -140,7 +140,7 @@
ServerManagement.stop(6);
- if (!clusterEvent.viewChanged(120000))
+ if (!clusterEvent.viewChanged(30000))
{
fail("Did not receive a VIEW_CHANGED event after spawning new server!");
}
@@ -154,7 +154,7 @@
ServerManagement.stop(1);
- if (!clusterEvent.viewChanged(120000))
+ if (!clusterEvent.viewChanged(30000))
{
fail("Did not receive a VIEW_CHANGED event after spawning new server!");
}
@@ -167,7 +167,7 @@
ServerManagement.stop(2);
- if (!clusterEvent.viewChanged(120000))
+ if (!clusterEvent.viewChanged(30000))
{
fail("Did not receive a VIEW_CHANGED event after spawning new server!");
}
@@ -179,7 +179,7 @@
ServerManagement.stop(4);
- if (!clusterEvent.viewChanged(120000))
+ if (!clusterEvent.viewChanged(30000))
{
fail("Did not receive a VIEW_CHANGED event after spawning new server!");
}
@@ -193,7 +193,7 @@
ServerManagement.stop(0);
- if (!clusterEvent.viewChanged(120000))
+ if (!clusterEvent.viewChanged(30000))
{
fail("Did not receive a VIEW_CHANGED event after spawning new server!");
}
@@ -231,7 +231,7 @@
ServerManagement.stop(0);
- if (!clusterEvent.viewChanged(120000))
+ if (!clusterEvent.viewChanged(30000))
{
fail("Did not receive a VIEW_CHANGED event after spawning new server!");
}
@@ -251,7 +251,7 @@
ServerManagement.start(0, "all");
- if (!clusterEvent.viewChanged(120000))
+ if (!clusterEvent.viewChanged(30000))
{
fail("Did not receive a VIEW_CHANGED event after spawning new server!");
}
Modified: trunk/tests/src/org/jboss/test/messaging/jms/clustering/MergeQueueTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/clustering/MergeQueueTest.java 2007-07-11 17:38:33 UTC (rev 2875)
+++ trunk/tests/src/org/jboss/test/messaging/jms/clustering/MergeQueueTest.java 2007-07-11 18:00:52 UTC (rev 2876)
@@ -17,7 +17,6 @@
import javax.jms.Session;
import javax.jms.TextMessage;
-import org.jboss.jms.client.JBossConnection;
import org.jboss.test.messaging.tools.ServerManagement;
/**
@@ -108,7 +107,7 @@
//At this point there should be 5 messages on the node 0 queue (5-9)
//and 10 messages on the node 1 queue (10-19)
- ServerManagement.killAndWait(1);
+ ServerManagement.kill(1);
consumer0 = session0.createConsumer(queue[0]);
@@ -221,7 +220,7 @@
Thread.sleep(5000);
log.info("Killing node1");
- ServerManagement.killAndWait(1);
+ ServerManagement.kill(1);
log.info("Killed node1");
// close the consumer .. .and this should cause failover to kick in
Modified: trunk/tests/src/org/jboss/test/messaging/jms/clustering/MultiThreadFailoverTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/clustering/MultiThreadFailoverTest.java 2007-07-11 17:38:33 UTC (rev 2875)
+++ trunk/tests/src/org/jboss/test/messaging/jms/clustering/MultiThreadFailoverTest.java 2007-07-11 18:00:52 UTC (rev 2876)
@@ -105,7 +105,7 @@
MessageProducer producer = session.createProducer(queue[1]);
- ServerManagement.killAndWait(1);
+ ServerManagement.kill(1);
producer.send(session.createTextMessage("Have a nice day!"));
@@ -383,7 +383,7 @@
- ServerManagement.killAndWait(1);
+ ServerManagement.kill(1);
int producedRightAfterKill;
int consumedRightAfterKill;
Modified: trunk/tests/src/org/jboss/test/messaging/jms/clustering/MultipleFailoverTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/clustering/MultipleFailoverTest.java 2007-07-11 17:38:33 UTC (rev 2875)
+++ trunk/tests/src/org/jboss/test/messaging/jms/clustering/MultipleFailoverTest.java 2007-07-11 18:00:52 UTC (rev 2876)
@@ -71,9 +71,8 @@
try
{
- // we start with a cluster of two (server 0 and server 1)
- conn = this.createConnectionOnServer(cf, 0);
+ conn = this.createConnectionOnServer(cf, 1);
conn.start();
// send/receive message
@@ -85,12 +84,12 @@
assertNotNull(m);
assertEquals("step1", m.getText());
- log.info("killing node 0 ....");
+ log.info("killing node 1 ....");
- ServerManagement.kill(0);
+ ServerManagement.kill(1);
log.info("########");
- log.info("######## KILLED NODE 0");
+ log.info("######## KILLED NODE 1");
log.info("########");
// send/receive message
@@ -100,11 +99,11 @@
assertEquals("step2", m.getText());
log.info("########");
- log.info("######## STARTING NODE 2");
+ log.info("######## STARTING NODE 3");
log.info("########");
- ServerManagement.start(2, "all", false);
- ServerManagement.deployQueue("testDistributedQueue", 2);
+ ServerManagement.start(3, "all", false);
+ ServerManagement.deployQueue("testDistributedQueue", 3);
// send/receive message
prod.send(s.createTextMessage("step3"));
@@ -112,12 +111,12 @@
assertNotNull(m);
assertEquals("step3", m.getText());
- log.info("killing node 1 ....");
+ log.info("killing node 2 ....");
- ServerManagement.kill(1);
+ ServerManagement.kill(2);
log.info("########");
- log.info("######## KILLED NODE 1");
+ log.info("######## KILLED NODE 2");
log.info("########");
// send/receive message
@@ -127,12 +126,12 @@
assertEquals("step4", m.getText());
log.info("########");
- log.info("######## STARTING NODE 3");
+ log.info("######## STARTING NODE 4");
log.info("########");
- ServerManagement.start(3, "all", false);
- log.info("deploying queue on3");
- ServerManagement.deployQueue("testDistributedQueue", 3);
+ ServerManagement.start(4, "all", false);
+ log.info("deploying queue on4");
+ ServerManagement.deployQueue("testDistributedQueue", 4);
log.info("deployed it");
// send/receive message
@@ -141,12 +140,12 @@
assertNotNull(m);
assertEquals("step5", m.getText());
- log.info("killing node 2 ....");
+ log.info("killing node 3 ....");
- ServerManagement.kill(2);
+ ServerManagement.kill(3);
log.info("########");
- log.info("######## KILLED NODE 2");
+ log.info("######## KILLED NODE 3");
log.info("########");
// send/receive message
@@ -156,11 +155,11 @@
assertEquals("step6", m.getText());
log.info("########");
- log.info("######## STARTING NODE 0");
+ log.info("######## STARTING NODE 1");
log.info("########");
- ServerManagement.start(0, "all", false);
- ServerManagement.deployQueue("testDistributedQueue", 0);
+ ServerManagement.start(1, "all", false);
+ ServerManagement.deployQueue("testDistributedQueue", 1);
// send/receive message
prod.send(s.createTextMessage("step7"));
@@ -168,12 +167,12 @@
assertNotNull(m);
assertEquals("step7", m.getText());
- log.info("killing node 3 ....");
+ log.info("killing node 4 ....");
- ServerManagement.kill(3);
+ ServerManagement.kill(4);
log.info("########");
- log.info("######## KILLED NODE 3");
+ log.info("######## KILLED NODE 4");
log.info("########");
// send/receive message
@@ -202,7 +201,7 @@
try
{
- conn = this.createConnectionOnServer(cf, 0);
+ conn = this.createConnectionOnServer(cf, 1);
Session sessSend = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
@@ -243,7 +242,7 @@
count++;
}
- t.join();
+ t.join(5 * 60 * 60 * 1000);
if (killer.failed)
{
@@ -285,13 +284,7 @@
throw e;
}
finally
- {
- if (!ServerManagement.isStarted(0))
- {
- ServerManagement.start(0, "all", false);
- }
-
-
+ {
if (conn != null)
{
log.info("closing connection");
@@ -313,7 +306,7 @@
protected void setUp() throws Exception
{
- nodeCount = 2;
+ nodeCount = 3;
super.setUp();
@@ -346,17 +339,28 @@
{
Thread.sleep(10000);
- log.info("Killing server 0");
- ServerManagement.kill(0);
+ log.info("Killing server 1");
+ ServerManagement.kill(1);
Thread.sleep(5000);
- log.info("starting server 0");
- ServerManagement.start(0, "all", false);
- ServerManagement.deployQueue("testDistributedQueue", 0);
+ log.info("starting server 1");
+ ServerManagement.start(1, "all", false);
+ ServerManagement.deployQueue("testDistributedQueue", 1);
Thread.sleep(5000);
+ log.info("Killing server 2");
+ ServerManagement.kill(2);
+
+ Thread.sleep(5000);
+
+ log.info("Starting server 2");
+ ServerManagement.start(2, "all", false);
+ ServerManagement.deployQueue("testDistributedQueue", 2);
+
+ Thread.sleep(5000);
+
log.info("Killing server 1");
ServerManagement.kill(1);
@@ -368,14 +372,14 @@
Thread.sleep(5000);
- log.info("Killing server 0");
- ServerManagement.kill(0);
+ log.info("Killing server 2");
+ ServerManagement.kill(2);
Thread.sleep(5000);
- log.info("Starting server 0");
- ServerManagement.start(0, "all", false);
- ServerManagement.deployQueue("testDistributedQueue", 0);
+ log.info("Starting server 2");
+ ServerManagement.start(2, "all", false);
+ ServerManagement.deployQueue("testDistributedQueue", 2);
Thread.sleep(5000);
@@ -388,17 +392,6 @@
ServerManagement.start(1, "all", false);
ServerManagement.deployQueue("testDistributedQueue", 1);
- Thread.sleep(5000);
-
- log.info("Killing server 0");
- ServerManagement.kill(0);
-
- Thread.sleep(5000);
-
- log.info("Starting server 0");
- ServerManagement.start(0, "all", false);
- ServerManagement.deployQueue("testDistributedQueue", 0);
-
log.info("killer DONE");
}
catch (Exception e)
Modified: trunk/tests/src/org/jboss/test/messaging/jms/clustering/RecoverDeliveriesTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/clustering/RecoverDeliveriesTest.java 2007-07-11 17:38:33 UTC (rev 2875)
+++ trunk/tests/src/org/jboss/test/messaging/jms/clustering/RecoverDeliveriesTest.java 2007-07-11 18:00:52 UTC (rev 2876)
@@ -373,7 +373,7 @@
while(true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
@@ -519,7 +519,7 @@
while(true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
@@ -735,7 +735,7 @@
while(true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
@@ -973,7 +973,7 @@
while(true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
Modified: trunk/tests/src/org/jboss/test/messaging/jms/clustering/XAFailoverTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/clustering/XAFailoverTest.java 2007-07-11 17:38:33 UTC (rev 2875)
+++ trunk/tests/src/org/jboss/test/messaging/jms/clustering/XAFailoverTest.java 2007-07-11 18:00:52 UTC (rev 2876)
@@ -122,7 +122,7 @@
while(true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
@@ -229,7 +229,7 @@
while(true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
@@ -373,7 +373,7 @@
while(true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
@@ -563,7 +563,7 @@
while(true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
@@ -756,7 +756,7 @@
while(true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
@@ -984,7 +984,7 @@
while(true)
{
- FailoverEvent event = failoverListener.getEvent(120000);
+ FailoverEvent event = failoverListener.getEvent(30000);
if (event != null && FailoverEvent.FAILOVER_COMPLETED == event.getType())
{
break;
Modified: trunk/tests/src/org/jboss/test/messaging/jms/stress/clustering/FailoverStressTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/stress/clustering/FailoverStressTest.java 2007-07-11 17:38:33 UTC (rev 2875)
+++ trunk/tests/src/org/jboss/test/messaging/jms/stress/clustering/FailoverStressTest.java 2007-07-11 18:00:52 UTC (rev 2876)
@@ -174,7 +174,7 @@
int serverId = getServerId(connections[0]);
- ServerManagement.killAndWait(serverId);
+ ServerManagement.kill(serverId);
log.info("killed node " + serverId + ", now waiting for all connections to fail over");
Modified: trunk/tests/src/org/jboss/test/messaging/tools/ServerManagement.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/tools/ServerManagement.java 2007-07-11 17:38:33 UTC (rev 2875)
+++ trunk/tests/src/org/jboss/test/messaging/tools/ServerManagement.java 2007-07-11 18:00:52 UTC (rev 2876)
@@ -135,8 +135,10 @@
*/
public static synchronized Server create(int i) throws Exception
{
+ log.info("Attempting to create server " + i);
if (servers[i] == null)
{
+ log.info("Server not already created, so creating...");
if (isLocal())
{
servers[i] = new ServerHolder(new LocalTestServer(i), false);
@@ -156,6 +158,10 @@
}
}
}
+ else
+ {
+ log.info("Server already created, so skipping");
+ }
return servers[i].getServer();
}
@@ -198,10 +204,10 @@
boolean clearDatabase,
boolean startMessagingServer) throws Exception
{
+ log.info("Attempting to start server " + i);
+
Server s = create(i);
- log.info("starting server " + i);
-
s.start(config, attrOverrides, clearDatabase, startMessagingServer);
log.info("server " + i + " started");
@@ -256,51 +262,58 @@
}
/**
- * Abruptly kills the VM running the specified server, simulating a crash. A local server
- * cannot be killed, the method is a noop if this is the case.
+ * Kills the server and waits keep trying any dumb communication until the server is effectively
+ * killed. We had to implement this method as kill will actually schedule a thread that will
+ * perform System.exit after few milliseconds. We will use this method in places where we need
+ * the server killed.
*/
public static synchronized void kill(int i) throws Exception
{
- if (servers[i] == null)
+ log.info("Attempting to kill server " + i);
+
+ ServerHolder holder = servers[i];
+
+ if (holder == null)
{
- log.warn("server " + i + " has not been created, so it cannot be killed");
+ log.info("server " + i + " has not been created or has already been killed, so it cannot be killed");
}
else
{
- log.trace("invoking kill() on server " + i);
- servers[i].getServer().kill();
- log.info("server " + i + " killed");
+ Server server = servers[i].getServer();
+ log.info("invoking kill() on server " + i);
+ try
+ {
+ server.kill();
+ }
+ catch (Throwable t)
+ {
+ // This is likely to throw an exception since the server dies before the response is received
+ }
servers[i] = null;
- }
- }
-
- /**
- * Kills the server and waits keep trying any dumb communication until the server is effectively
- * killed. We had to implement this method as kill will actually schedule a thread that will
- * perform System.exit after few milliseconds. We will use this method in places where we need
- * the server killed.
- */
- public static synchronized void killAndWait(int i) throws Exception
- {
- Server server = servers[i].getServer();
- kill(i);
- try
- {
- while(true)
+
+ log.info("Waiting for server to die");
+
+ try
{
- server.ping();
- log.debug("server " + i + " still alive ...");
- Thread.sleep(10);
+ while(true)
+ {
+ server.ping();
+ log.debug("server " + i + " still alive ...");
+ Thread.sleep(100);
+ }
}
+ catch (Throwable e)
+ {
+ //Ok
+ }
+
+ Thread.sleep(300);
+
+ log.info("server " + i + " killed and dead");
}
- catch (Throwable e)
- {
- // e.printStackTrace();
- }
-
- log.debug("server " + i + " killed and dead");
+
}
-
+
/**
* This method make sure that all servers that have been implicitely spawned when as a side
* effect of create() and/or start() are killed. The method is important because a forked
@@ -323,8 +336,14 @@
{
Server s = servers[i].getServer();
destroyed.add(new Integer(s.getServerID()));
- s.stop();
- s.kill();
+
+ try
+ {
+ s.kill();
+ }
+ catch (Throwable t)
+ {
+ }
servers[i] = null;
}
}
Modified: trunk/tests/src/org/jboss/test/messaging/tools/jmx/rmi/RMITestServer.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/tools/jmx/rmi/RMITestServer.java 2007-07-11 17:38:33 UTC (rev 2875)
+++ trunk/tests/src/org/jboss/test/messaging/tools/jmx/rmi/RMITestServer.java 2007-07-11 18:00:52 UTC (rev 2876)
@@ -179,8 +179,18 @@
public synchronized void kill() throws Exception
{
- // Kills the server without doing any graceful shutdown. For graceful shutdown use stop().
- new Thread(new VMKiller(), "VM Killer").start();
+ //We deregister in another thread, them pause, then kill the VM
+ //This ensures if the deregister hangs (which can happen if the RMI registry is dead) then it doesn't prevent
+ //the kill
+ //We always kill on this thread to ensure the kill completes in a timely manner which may not occur if it occurs
+ //on its own thread due to thread scheduling differences
+ new Thread(new Deregisterer(), "Deregisterer").start();
+
+ log.info("Killing VM!!!!");
+
+ Thread.sleep(250);
+
+ System.exit(1);
}
public void ping() throws Exception
@@ -510,11 +520,11 @@
// Inner classes -------------------------------------------------
- public class VMKiller implements Runnable
+ public class Deregisterer implements Runnable
{
public void run()
{
- log.info("shutting down the VM");
+ log.info("Deregistering from RMI");
try
{
@@ -525,26 +535,26 @@
String name = RMI_SERVER_PREFIX + server.getServerID();
registry.unbind(name);
log.info("unregistered " + name + " from registry");
-
- name = NAMING_SERVER_PREFIX + server.getServerID();
- registry.unbind(name);
- log.info("unregistered " + name + " from registry");
}
- catch(Exception e)
+ catch (Throwable t)
{
- log.error("Failed to unregister", e);
+ log.error("Failed to unregister", t);
}
-
+
try
{
- Thread.sleep(250);
+ // unregister myself from the RMI registry
+
+ Registry registry = LocateRegistry.getRegistry(DEFAULT_REGISTRY_PORT);
+
+ String name = NAMING_SERVER_PREFIX + server.getServerID();
+ registry.unbind(name);
+ log.info("unregistered " + name + " from registry");
}
- catch(Exception e)
+ catch (Throwable t)
{
- log.warn("interrupted while sleeping", e);
- }
-
- System.exit(0);
+ log.error("Failed to unregister", t);
+ }
}
}
}
Modified: trunk/tests/src/org/jboss/test/messaging/tools/jmx/rmi/StopRMIServer.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/tools/jmx/rmi/StopRMIServer.java 2007-07-11 17:38:33 UTC (rev 2875)
+++ trunk/tests/src/org/jboss/test/messaging/tools/jmx/rmi/StopRMIServer.java 2007-07-11 18:00:52 UTC (rev 2876)
@@ -86,9 +86,13 @@
return;
}
- // We should shut down cleanly - not kill the process like we are currently doing
-
- server.kill();
+ try
+ {
+ server.kill();
+ }
+ catch (Throwable t)
+ {
+ }
// The last RMI server will take with it the registry too
More information about the jboss-cvs-commits
mailing list