[jboss-dev-forums] [Design of Messaging on JBoss (Messaging/JBoss)] - Work done on CP branch without any corresponding JIRA

timfox do-not-reply at jboss.com
Tue Jun 24 06:23:42 EDT 2008


I am trying to prepare the CP branch to release 1.4.0.SP3_CP03 for EAP 4.3.CP02, and I have done a diff between its current state and the state from the 1.4.0.SP3_CP02 tag, and I see several changes which have no corresponding JIRAs:


  | Index: tests/src/org/jboss/test/messaging/tools/container/ClassLoaderJMXWrapper.java
  | ===================================================================
  | --- tests/src/org/jboss/test/messaging/tools/container/ClassLoaderJMXWrapper.java	(.../branches/Branch_JBossMessaging_1_4_0_SP3_CP)	(revision 4568)
  | +++ tests/src/org/jboss/test/messaging/tools/container/ClassLoaderJMXWrapper.java	(.../tags/JBossMessaging_1_4_0_SP3_CP02)	(revision 4568)
  | @@ -21,7 +21,9 @@
  |  */
  |  package org.jboss.test.messaging.tools.container;
  |  
  | -import org.jboss.util.loading.DelegatingClassLoader;
  | +import java.lang.reflect.Array;
  | +import java.net.URL;
  | +import java.net.URLClassLoader;
  |  
  |  /**
  |   * We extend URLClassLoader just to prevent UnifiedLoaderRepository3 to generate spurious warning
  | @@ -33,7 +35,7 @@
  |   *
  |   * $Id$
  |   */
  | -public class ClassLoaderJMXWrapper extends DelegatingClassLoader implements ClassLoaderJMXWrapperMBean
  | +public class ClassLoaderJMXWrapper extends URLClassLoader implements ClassLoaderJMXWrapperMBean
  |  {
  |     // Constants -----------------------------------------------------
  |  
  | @@ -41,13 +43,45 @@
  |  
  |     // Attributes ----------------------------------------------------
  |  
  | +   private ClassLoader delegate;
  | +
  |     // Constructors --------------------------------------------------
  |  
  |     public ClassLoaderJMXWrapper(ClassLoader delegate)
  |     {
  | -      super(delegate);
  | +      super(new URL[0]);
  | +      this.delegate = delegate;
  |     }
  |  
  | +   // ClassLoaderJMXWrapperMBean implementation ---------------------
  | +
  | +   public Class loadClass(String name) throws ClassNotFoundException
  | +   {
  | +      if (name.endsWith("[]"))
  | +      {
  | +         name = name.substring(0, name.length() - 2);
  | +         
  | +         //The classloader of an array type is the classloader of it's element (if non primitive)
  | +         
  | +         Class cl = delegate.loadClass(name);
  | +         
  | +         Object arr = Array.newInstance(cl, 0);
  | +         
  | +         return arr.getClass();
  | +      }
  | +      else
  | +      {      
  | +         return delegate.loadClass(name);
  | +      }
  | +   }
  | +
  | +   // ClassLoader overrides -----------------------------------------
  | +
  | +   public URL getResource(String name)
  | +   {
  | +      return delegate.getResource(name);
  | +   }
  | +
  |     // Public --------------------------------------------------------
  |  
  |     // Package protected ---------------------------------------------
  | Index: tests/src/org/jboss/test/messaging/tools/ServerManagement.java
  | ===================================================================
  | --- tests/src/org/jboss/test/messaging/tools/ServerManagement.java	(.../branches/Branch_JBossMessaging_1_4_0_SP3_CP)	(revision 4568)
  | +++ tests/src/org/jboss/test/messaging/tools/ServerManagement.java	(.../tags/JBossMessaging_1_4_0_SP3_CP02)	(revision 4568)
  | @@ -500,13 +500,13 @@
  |  
  |        String classPath = System.getProperty("java.class.path");
  |  
  | -      if (System.getProperty("os.name").toLowerCase().contains("windows"))
  | +      if (System.getProperty("os.name").equals("Linux"))
  |        {
  | -         sb.append("-cp").append(" \"").append(classPath).append("\" ");
  | +         sb.append("-cp").append(" ").append(classPath).append(" ");
  |        }
  |        else
  |        {
  | -         sb.append("-cp").append(" ").append(classPath).append(" ");
  | +         sb.append("-cp").append(" \"").append(classPath).append("\" ");
  |        }
  |  
  |        // As there is a problem with Multicast and JGroups on Linux (in certain JDKs)
  | Index: tests/src/org/jboss/test/messaging/jms/bridge/SimpleCrashWithRestartTest.java
  | ===================================================================
  | --- tests/src/org/jboss/test/messaging/jms/bridge/SimpleCrashWithRestartTest.java	(.../branches/Branch_JBossMessaging_1_4_0_SP3_CP)	(revision 4568)
  | +++ tests/src/org/jboss/test/messaging/jms/bridge/SimpleCrashWithRestartTest.java	(.../tags/JBossMessaging_1_4_0_SP3_CP02)	(revision 4568)
  | @@ -1,136 +0,0 @@
  | -/*
  | - * JBoss, Home of Professional Open Source
  | - * Copyright 2005, JBoss Inc., and individual contributors as indicated
  | - * by the @authors tag. See the copyright.txt in the distribution for a
  | - * full listing of individual contributors.
  | - *
  | - * This is free software; you can redistribute it and/or modify it
  | - * under the terms of the GNU Lesser General Public License as
  | - * published by the Free Software Foundation; either version 2.1 of
  | - * the License, or (at your option) any later version.
  | - *
  | - * This software is distributed in the hope that it will be useful,
  | - * but WITHOUT ANY WARRANTY; without even the implied warranty of
  | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  | - * Lesser General Public License for more details.
  | - *
  | - * You should have received a copy of the GNU Lesser General Public
  | - * License along with this software; if not, write to the Free
  | - * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  | - * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  | - */
  | -package org.jboss.test.messaging.jms.bridge;
  | -
  | -import java.util.Properties;
  | -
  | -import org.jboss.jms.jndi.JMSProviderAdapter;
  | -import org.jboss.jms.server.bridge.Bridge;
  | -import org.jboss.logging.Logger;
  | -import org.jboss.test.messaging.tools.ServerManagement;
  | -import org.jboss.test.messaging.tools.TestJMSProviderAdaptor;
  | -import org.jboss.test.messaging.tools.aop.PoisonInterceptor;
  | -
  | -/**
  | - * @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
  | - * @version <tt>$Revision$</tt>
  | - *
  | - * $Id$
  | - *
  | - */
  | -public class SimpleCrashWithRestartTest extends BridgeTestBase
  | -{
  | -   private static final Logger log = Logger.getLogger(ReconnectTest.class);
  | -
  | -   public SimpleCrashWithRestartTest(String name)
  | -   {
  | -      super(name);
  | -   }
  | -
  | -   protected void setUp() throws Exception
  | -   {   
  | -      super.setUp();         
  | -      
  | -      //Now install local JMSProviderAdaptor classes
  | -      
  | -      Properties props1 = new Properties();
  | -      props1.putAll(ServerManagement.getJNDIEnvironment(1));
  | -        
  | -      JMSProviderAdapter targetAdaptor =
  | -         new TestJMSProviderAdaptor(props1, "/XAConnectionFactory", "adaptor1");
  | -      
  | -      sc.installJMSProviderAdaptor("adaptor1", targetAdaptor);
  | -      
  | -      sc.startRecoveryManager();      
  | -   }
  | -
  | -   protected void tearDown() throws Exception
  | -   {  
  | -      super.tearDown();
  | -
  | -      sc.stopRecoveryManager();
  | -      
  | -      sc.uninstallJMSProviderAdaptor("adaptor1");
  | -
  | -      log.debug(this + " torn down");
  | -   }
  | -      
  | -   /*
  | -    * Send some messages   
  | -    * Crash the server after prepare but on commit
  | -    * Bring up the destination server
  | -    * Send some more messages
  | -    * Verify all messages are received
  | -    */
  | -   public void testCrashAndRestart() throws Exception
  | -   {
  | -	      Bridge bridge = null;
  | -          
  | -	      try
  | -	      {
  | -	         final int NUM_MESSAGES = 10;         
  | -	         
  | -	         bridge = new Bridge(cff0, cff1, sourceQueueFactory, targetQueueFactory,
  | -	                  null, null, null, null,
  | -	                  null, 1000, -1, Bridge.QOS_AT_MOST_ONCE,
  | -	                  NUM_MESSAGES, -1,
  | -	                  null, null, false);
  | -	         
  | -	         bridge.start();
  | -	         
  | -	         sendMessages(cf0, sourceQueue, 0, NUM_MESSAGES, true);
  | -	              
  | -	         checkMessagesReceived(cf1, targetQueue, Bridge.QOS_ONCE_AND_ONLY_ONCE, NUM_MESSAGES, true);
  | -	         
  | -	         ServerManagement.kill(1);
  | -	         
  | -	         
  | -	         // >30 sec (timeout on remoting)
  | -	         Thread.sleep(35000);
  | -	         
  | -	       	ServerManagement.start(1, "all", false);
  | -	      	ServerManagement.deployQueue("targetQueue", 1);     
  | -	       	
  | -	       	setUpAdministeredObjects();
  | -	       	
  | -	         sendMessages(cf0, sourceQueue, 0, NUM_MESSAGES, true);
  | -             
  | -	         checkMessagesReceived(cf1, targetQueue, Bridge.QOS_AT_MOST_ONCE, NUM_MESSAGES, true);
  | -	      }
  | -	      finally
  | -	      {      
  | -	         if (bridge != null)
  | -	         {
  | -	            try
  | -	            {
  | -	               bridge.stop();
  | -	            }
  | -	            catch (Exception e)
  | -	            {
  | -	               log.error("Failed to stop bridge", e);
  | -	            }
  | -	         }
  | -	      }                  
  | -   }
  | -   
  | -   // Inner classes -------------------------------------------------------------------   
  | -}
  | Index: src/main/org/jboss/messaging/core/impl/JDBCPersistenceManager.java
  | ===================================================================
  | --- src/main/org/jboss/messaging/core/impl/JDBCPersistenceManager.java	(.../branches/Branch_JBossMessaging_1_4_0_SP3_CP)	(revision 4568)
  | +++ src/main/org/jboss/messaging/core/impl/JDBCPersistenceManager.java	(.../tags/JBossMessaging_1_4_0_SP3_CP02)	(revision 4568)
  | @@ -2556,7 +2556,7 @@
  |        map.put("CREATE_COUNTER",
  |                "CREATE TABLE JBM_COUNTER (NAME VARCHAR(255), NEXT_ID BIGINT, PRIMARY KEY(NAME))");
  |        // Id cache
  | -      map.put("CREATE_ID_CACHE", "CREATE TABLE JBM_ID_CACHE (NODE_ID INTEGER, CNTR INTEGER, JBM_ID VARCHAR(255), PRIMARY KEY(NODE_ID, CNTR))");
  | +      map.put("CREATE_ID_CACHE", "CREATE TABLE JBM_ID_CACHE (NODE_ID INTEGER, CNTR INTEGER, JBM_ID VARCHAR(255), PRIMARY KEY(NODEID, CNTR))");
  |        return map;
  |     }
  |  
  | @@ -2603,8 +2603,8 @@
  |                "UPDATE JBM_MSG_REF SET CHANNEL_ID = ? WHERE CHANNEL_ID = ?");
  |        map.put("MOVE_REFERENCE",
  |                "UPDATE JBM_MSG_REF SET CHANNEL_ID = ? WHERE MESSAGE_ID = ? AND CHANNEL_ID = ?");
  | -      map.put("LOAD_ID_CACHE", "SELECT CNTR, JBM_ID FROM JBM_ID_CACHE WHERE NODE_ID = ?");
  | -      map.put("UPDATE_ID_IN_CACHE", "UPDATE JBM_ID_CACHE SET JBM_ID = ? WHERE NODE_ID = ? AND CNTR = ?");
  | +      map.put("LOAD_ID_CACHE", "SELECT CNTR, ID FROM JBM_ID_CACHE WHERE NODE_ID = ?");
  | +      map.put("UPDATE_ID_IN_CACHE", "UPDATE JBM_ID_CACHE SET JBM_ID = ? WHERE NODE_ID = ? CNTR = ?");
  |        map.put("INSERT_ID_IN_CACHE", "INSERT INTO JBM_ID_CACHE (NODE_ID, CNTR, JBM_ID) VALUES (?, ?, ?)");
  | 

I have probably said this before, but doing work on the CP branch ***must be tracked by a corresponding JIRA***.

I know what one of the changes is for (NODE_ID bug), but unless someone comes up with a JIRA and explanation for the others I will just revert them.

 



View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4160165#4160165

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4160165



More information about the jboss-dev-forums mailing list