[jboss-cvs] JBoss Messaging SVN: r2740 - in trunk: src/main/org/jboss/jms/client/delegate and 5 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed May 30 07:36:29 EDT 2007
Author: timfox
Date: 2007-05-30 07:36:28 -0400 (Wed, 30 May 2007)
New Revision: 2740
Modified:
trunk/src/main/org/jboss/jms/client/container/ClusteringAspect.java
trunk/src/main/org/jboss/jms/client/delegate/ClientClusteredConnectionFactoryDelegate.java
trunk/src/main/org/jboss/jms/server/bridge/Bridge.java
trunk/src/main/org/jboss/messaging/core/message/MessageSupport.java
trunk/tests/src/org/jboss/test/messaging/jms/bridge/BridgeTest.java
trunk/tests/src/org/jboss/test/messaging/jms/bridge/BridgeTestBase.java
trunk/tests/src/org/jboss/test/messaging/jms/bridge/ReconnectTest.java
trunk/tests/src/org/jboss/test/messaging/jms/server/destination/QueueManagementTest.java
trunk/tests/src/org/jboss/test/messaging/jms/server/destination/base/DestinationManagementTestBase.java
Log:
http://jira.jboss.com/jira/browse/JBMESSAGING-975 plus fixed bug in bridge tests
Modified: trunk/src/main/org/jboss/jms/client/container/ClusteringAspect.java
===================================================================
--- trunk/src/main/org/jboss/jms/client/container/ClusteringAspect.java 2007-05-29 22:03:32 UTC (rev 2739)
+++ trunk/src/main/org/jboss/jms/client/container/ClusteringAspect.java 2007-05-30 11:36:28 UTC (rev 2740)
@@ -125,7 +125,7 @@
}
}
- log.debug(this + " has chosen " + delegate + " as target, " +
+ log.trace(this + " has chosen " + delegate + " as target, " +
(attemptCount == 0 ? "first connection attempt" : attemptCount + " connection attempts"));
CreateConnectionResult res = delegate.
@@ -136,7 +136,7 @@
{
// valid connection
- log.debug(this + " got local connection delegate " + cd);
+ log.trace(this + " got local connection delegate " + cd);
if (supportsFailover)
{
@@ -151,7 +151,7 @@
state.getRemotingConnection().getConnectionListener().
setDelegateListener(new ConnectionFailureListener(fcc, state.getRemotingConnection()));
- log.debug(this + " installed failure listener on " + cd);
+ log.trace(this + " installed failure listener on " + cd);
// also cache the username and the password into state, useful in case
// FailoverCommandCenter needs to create a new connection instead of a failed on
@@ -161,6 +161,8 @@
// also add a reference to the clustered ConnectionFactory delegate, useful in case
// FailoverCommandCenter needs to create a new connection instead of a failed on
state.setClusteredConnectionFactoryDeleage(clusteredDelegate);
+
+ log.trace("Successfully initialised new connection");
}
return res;
@@ -201,6 +203,8 @@
// Server side failover has occurred / is occurring but trying to go to the 'default'
// failover node did not succeed. Retry with the node suggested by the cluster.
+ log.trace("Server side failover occurred, but we were non the wrong node! Actual node = " + actualServerID);
+
delegate = getDelegateForNode(actualServerID);
}
@@ -241,6 +245,8 @@
private synchronized ClientConnectionFactoryDelegate getFailoverDelegateForNode(Integer nodeID)
{
+ log.trace("Getting failover delegate for node id " + nodeID);
+
ClientConnectionFactoryDelegate[] delegates = clusteredDelegate.getDelegates();
if (nodeID.intValue() < 0)
@@ -259,12 +265,16 @@
Integer failoverNodeID = (Integer)failoverMap.get(nodeID);
+ log.trace("Found failover node id = " + failoverNodeID);
+
// FailoverNodeID is not on the map, that means the ConnectionFactory was updated by another
// connection in another server. So we will have to guess the failoverID by numeric order.
// In case we guessed the new server wrongly we will have to rely on redirect from failover.
if (failoverNodeID == null)
{
+ log.trace("Couldn't find failover node id on map so guessing it");
failoverNodeID = guessFailoverID(failoverMap, nodeID);
+ log.trace("Guess is " + failoverNodeID);
}
for (int i = 0; i < delegates.length; i++)
@@ -288,6 +298,7 @@
*/
private static Integer guessFailoverID(Map failoverMap, Integer nodeID)
{
+ log.trace("Guessing failover id for node " + nodeID);
Integer failoverNodeID = null;
Integer[] nodes = (Integer[]) failoverMap.keySet().toArray(new Integer[failoverMap.size()]);
@@ -308,21 +319,28 @@
{
failoverNodeID = nodes[0];
}
+
+ log.trace("Returning guess " + failoverNodeID);
+
return failoverNodeID;
}
private synchronized ClientConnectionFactoryDelegate getDelegateForNode(int nodeID)
{
+ log.trace("Getting delegate for node id " + nodeID);
+
ClientConnectionFactoryDelegate[] delegates = clusteredDelegate.getDelegates();
for (int i = 0; i < delegates.length; i++)
{
if (delegates[i].getServerID() == nodeID)
{
+ log.trace("Found " + delegates[i]);
return delegates[i];
}
}
-
+
+ log.trace("Didn't find any delegate");
return null;
}
Modified: trunk/src/main/org/jboss/jms/client/delegate/ClientClusteredConnectionFactoryDelegate.java
===================================================================
--- trunk/src/main/org/jboss/jms/client/delegate/ClientClusteredConnectionFactoryDelegate.java 2007-05-29 22:03:32 UTC (rev 2739)
+++ trunk/src/main/org/jboss/jms/client/delegate/ClientClusteredConnectionFactoryDelegate.java 2007-05-30 11:36:28 UTC (rev 2740)
@@ -136,9 +136,10 @@
}
// Public ---------------------------------------------------------------------------------------
-
+
public ClientConnectionFactoryDelegate[] getDelegates()
{
+ sanityCheck();
return delegates;
}
@@ -150,6 +151,7 @@
public Map getFailoverMap()
{
+ sanityCheck();
return failoverMap;
}
@@ -209,6 +211,14 @@
// Protected ------------------------------------------------------------------------------------
// Private --------------------------------------------------------------------------------------
+
+ private void sanityCheck()
+ {
+ if (delegates.length != failoverMap.size())
+ {
+ throw new IllegalStateException("Number of delegates and failover map size are not equal");
+ }
+ }
// Inner classes --------------------------------------------------------------------------------
Modified: trunk/src/main/org/jboss/jms/server/bridge/Bridge.java
===================================================================
--- trunk/src/main/org/jboss/jms/server/bridge/Bridge.java 2007-05-29 22:03:32 UTC (rev 2739)
+++ trunk/src/main/org/jboss/jms/server/bridge/Bridge.java 2007-05-30 11:36:28 UTC (rev 2740)
@@ -1051,6 +1051,7 @@
}
catch (Throwable ignore)
{
+ if (trace) { log.trace("Failed to close source connection", ignore); }
}
try
{
@@ -1060,7 +1061,8 @@
}
}
catch (Throwable ignore)
- {
+ {
+ if (trace) { log.trace("Failed to close target connection", ignore); }
}
@@ -1072,6 +1074,7 @@
}
catch (Throwable ignore)
{
+ if (trace) { log.trace("Failed to delist resources", ignore); }
}
try
{
@@ -1080,6 +1083,7 @@
}
catch (Throwable ignore)
{
+ if (trace) { log.trace("Failed to rollback", ignore); }
}
}
}
Modified: trunk/src/main/org/jboss/messaging/core/message/MessageSupport.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/message/MessageSupport.java 2007-05-29 22:03:32 UTC (rev 2739)
+++ trunk/src/main/org/jboss/messaging/core/message/MessageSupport.java 2007-05-30 11:36:28 UTC (rev 2740)
@@ -40,9 +40,13 @@
* @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
* @version <tt>$Revision$</tt>
*
+ * Note this class is only serializable so messages can't be returned from JMX operations
+ * e.g. listAllMessages.
+ * For normal message transportation serialization is not used
+ *
* $Id$
*/
-public abstract class MessageSupport implements Message
+public abstract class MessageSupport implements Message, Serializable
{
// Constants -----------------------------------------------------
@@ -255,7 +259,8 @@
if (payload != null)
{
return payload;
- } else if (payloadAsByteArray != null)
+ }
+ else if (payloadAsByteArray != null)
{
// deserialize the payload from byte[]
@@ -266,7 +271,8 @@
try
{
payload = readPayload(dis, payloadAsByteArray.length);
- } catch (Exception e)
+ }
+ catch (Exception e)
{
RuntimeException e2 = new RuntimeException(e.getMessage());
e2.setStackTrace(e.getStackTrace());
@@ -274,8 +280,9 @@
}
payloadAsByteArray = null;
- return payload;
- } else
+ return payload;
+ }
+ else
{
return null;
}
Modified: trunk/tests/src/org/jboss/test/messaging/jms/bridge/BridgeTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/bridge/BridgeTest.java 2007-05-29 22:03:32 UTC (rev 2739)
+++ trunk/tests/src/org/jboss/test/messaging/jms/bridge/BridgeTest.java 2007-05-30 11:36:28 UTC (rev 2740)
@@ -339,7 +339,7 @@
try
{
- setUpAdministeredObjects();
+ setUpAdministeredObjects(true);
int qosMode = Bridge.QOS_AT_MOST_ONCE;
@@ -514,7 +514,7 @@
try
{
- setUpAdministeredObjects();
+ setUpAdministeredObjects(true);
final int NUM_MESSAGES = 10;
@@ -642,7 +642,7 @@
started = mgr.getTransaction();
- setUpAdministeredObjects();
+ setUpAdministeredObjects(true);
final int NUM_MESSAGES = 10;
@@ -699,7 +699,7 @@
try
{
- this.setUpAdministeredObjects();
+ this.setUpAdministeredObjects(true);
final int NUM_MESSAGES = 10;
@@ -733,7 +733,7 @@
try
{
- this.setUpAdministeredObjects();
+ this.setUpAdministeredObjects(true);
final int NUM_MESSAGES = 10;
@@ -767,7 +767,7 @@
try
{
- this.setUpAdministeredObjects();
+ this.setUpAdministeredObjects(true);
final int NUM_MESSAGES = 10;
@@ -828,7 +828,7 @@
try
{
- this.setUpAdministeredObjects();
+ this.setUpAdministeredObjects(true);
bridge = new Bridge(cff0, cff1, sourceQueue, destQueue,
null, null, null, null,
@@ -908,7 +908,7 @@
try
{
- this.setUpAdministeredObjects();
+ this.setUpAdministeredObjects(true);
bridge = new Bridge(cff0, cff0, sourceQueue, localDestQueue,
null, null, null, null,
@@ -984,7 +984,7 @@
try
{
- this.setUpAdministeredObjects();
+ this.setUpAdministeredObjects(true);
final int NUM_MESSAGES = 10;
@@ -1053,7 +1053,7 @@
try
{
- this.setUpAdministeredObjects();
+ this.setUpAdministeredObjects(true);
final int NUM_MESSAGES = 10;
@@ -1119,7 +1119,7 @@
try
{
- this.setUpAdministeredObjects();
+ this.setUpAdministeredObjects(true);
final long MAX_BATCH_TIME = 3000;
@@ -1173,7 +1173,7 @@
try
{
- this.setUpAdministeredObjects();
+ this.setUpAdministeredObjects(true);
final long MAX_BATCH_TIME = 3000;
Modified: trunk/tests/src/org/jboss/test/messaging/jms/bridge/BridgeTestBase.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/bridge/BridgeTestBase.java 2007-05-29 22:03:32 UTC (rev 2739)
+++ trunk/tests/src/org/jboss/test/messaging/jms/bridge/BridgeTestBase.java 2007-05-30 11:36:28 UTC (rev 2740)
@@ -201,7 +201,7 @@
super.tearDown();
}
- protected void setUpAdministeredObjects() throws Exception
+ protected void setUpAdministeredObjects(boolean drain) throws Exception
{
InitialContext ic0 = null, ic1 = null;
try
@@ -230,11 +230,14 @@
localDestQueue = (Queue)ic0.lookup("/queue/localDestQueue");
- this.drainDestination(cf0, sourceQueue);
-
- this.drainDestination(cf1, destQueue);
-
- this.drainDestination(cf0, localDestQueue);
+ if (drain)
+ {
+ this.drainDestination(cf0, sourceQueue);
+
+ this.drainDestination(cf1, destQueue);
+
+ this.drainDestination(cf0, localDestQueue);
+ }
}
finally
{
Modified: trunk/tests/src/org/jboss/test/messaging/jms/bridge/ReconnectTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/bridge/ReconnectTest.java 2007-05-29 22:03:32 UTC (rev 2739)
+++ trunk/tests/src/org/jboss/test/messaging/jms/bridge/ReconnectTest.java 2007-05-30 11:36:28 UTC (rev 2740)
@@ -163,7 +163,7 @@
try
{
- setUpAdministeredObjects();
+ setUpAdministeredObjects(true);
bridge = new Bridge(cff0, cff1, sourceQueue, destQueue,
null, null, null, null,
@@ -202,7 +202,7 @@
ServerManagement.deployQueue("destQueue", 1);
- setUpAdministeredObjects();
+ setUpAdministeredObjects(false);
//Send some more messages
@@ -251,7 +251,7 @@
try
{
- setUpAdministeredObjects();
+ setUpAdministeredObjects(true);
bridge = new Bridge(cff0, cff1, sourceQueue, destQueue,
null, null, null, null,
@@ -290,7 +290,7 @@
ServerManagement.deployQueue("destQueue", 1);
- setUpAdministeredObjects();
+ setUpAdministeredObjects(false);
sendMessages(cf0, sourceQueue, NUM_MESSAGES / 2, NUM_MESSAGES / 2, persistent);
@@ -334,7 +334,7 @@
try
{
- setUpAdministeredObjects();
+ setUpAdministeredObjects(true);
final int NUM_MESSAGES = 10;
@@ -393,7 +393,7 @@
log.info("Slept");
- setUpAdministeredObjects();
+ setUpAdministeredObjects(false);
//Send some more messages
Modified: trunk/tests/src/org/jboss/test/messaging/jms/server/destination/QueueManagementTest.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/server/destination/QueueManagementTest.java 2007-05-29 22:03:32 UTC (rev 2739)
+++ trunk/tests/src/org/jboss/test/messaging/jms/server/destination/QueueManagementTest.java 2007-05-30 11:36:28 UTC (rev 2740)
@@ -774,6 +774,12 @@
public void testMessageCounter() throws Exception
{
+ if (ServerManagement.isRemote())
+ {
+ //This test can't be run in a remote configuration since MessageCounter is not serializable
+ return;
+ }
+
InitialContext ic = new InitialContext(ServerManagement.getJNDIEnvironment());
ConnectionFactory cf = (ConnectionFactory)ic.lookup("/ConnectionFactory");
Modified: trunk/tests/src/org/jboss/test/messaging/jms/server/destination/base/DestinationManagementTestBase.java
===================================================================
--- trunk/tests/src/org/jboss/test/messaging/jms/server/destination/base/DestinationManagementTestBase.java 2007-05-29 22:03:32 UTC (rev 2739)
+++ trunk/tests/src/org/jboss/test/messaging/jms/server/destination/base/DestinationManagementTestBase.java 2007-05-30 11:36:28 UTC (rev 2740)
@@ -78,11 +78,6 @@
public void setUp() throws Exception
{
- if (ServerManagement.isRemote())
- {
- fail("this test is not supposed to run in a remote configuration!");
- }
-
super.setUp();
ServerManagement.start("all");
@@ -619,6 +614,12 @@
public void testPageableChannelAttributes() throws Exception
{
+ if (ServerManagement.isRemote())
+ {
+ //This test can't be run in a remote configuration
+ return;
+ }
+
int fullSize = 7777;
int pageSize = 234;
int downCacheSize = 56;
@@ -691,6 +692,12 @@
public void testGetSetMessageCounterHistoryDayLimit() throws Exception
{
+ if (ServerManagement.isRemote())
+ {
+ //This test can't be run in a remote configuration since MessageCounter is not serializable
+ return;
+ }
+
int defaultLimit = 12;
ServerManagement.setAttribute(ServerManagement.getServerPeerObjectName(), "DefaultMessageCounterHistoryDayLimit", String.valueOf(defaultLimit));
More information about the jboss-cvs-commits
mailing list