[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