[Jboss-cvs] JBoss Messaging SVN: r1329 - in branches/Branch_1_0: src/main/org/jboss/jms/client/container src/main/org/jboss/jms/message src/main/org/jboss/jms/tx tests/src/org/jboss/test/messaging/tools

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Sep 20 17:30:05 EDT 2006


Author: ovidiu.feodorov at jboss.com
Date: 2006-09-20 17:29:56 -0400 (Wed, 20 Sep 2006)
New Revision: 1329

Modified:
   branches/Branch_1_0/src/main/org/jboss/jms/client/container/ConnectionAspect.java
   branches/Branch_1_0/src/main/org/jboss/jms/client/container/StateCreationAspect.java
   branches/Branch_1_0/src/main/org/jboss/jms/message/MessageIdGeneratorFactory.java
   branches/Branch_1_0/src/main/org/jboss/jms/tx/ResourceManagerFactory.java
   branches/Branch_1_0/tests/src/org/jboss/test/messaging/tools/ServerManagement.java
Log:
minor refactoring and iproved logging for MessageIdGeneratorFactory, in an attempt to find the cause of http://jira.jboss.org/jira/browse/JBMESSAGING-548

Modified: branches/Branch_1_0/src/main/org/jboss/jms/client/container/ConnectionAspect.java
===================================================================
--- branches/Branch_1_0/src/main/org/jboss/jms/client/container/ConnectionAspect.java	2006-09-20 21:10:48 UTC (rev 1328)
+++ branches/Branch_1_0/src/main/org/jboss/jms/client/container/ConnectionAspect.java	2006-09-20 21:29:56 UTC (rev 1329)
@@ -174,10 +174,10 @@
       state.getRemotingConnection().stop();
       
       // Remove reference to resource manager
-      ResourceManagerFactory.instance.returnResourceManager(state.getServerID());
+      ResourceManagerFactory.instance.checkInResourceManager(state.getServerID());
       
       // Remove reference to message id generator
-      MessageIdGeneratorFactory.instance.returnGenerator(state.getServerID());
+      MessageIdGeneratorFactory.instance.checkInGenerator(state.getServerID());
       
       return ret;
    }

Modified: branches/Branch_1_0/src/main/org/jboss/jms/client/container/StateCreationAspect.java
===================================================================
--- branches/Branch_1_0/src/main/org/jboss/jms/client/container/StateCreationAspect.java	2006-09-20 21:10:48 UTC (rev 1328)
+++ branches/Branch_1_0/src/main/org/jboss/jms/client/container/StateCreationAspect.java	2006-09-20 21:29:56 UTC (rev 1329)
@@ -83,9 +83,9 @@
 
       String serverID = cfd.getServerID();
 
-      ResourceManager rm = ResourceManagerFactory.instance.getResourceManager(serverID);
+      ResourceManager rm = ResourceManagerFactory.instance.checkOutResourceManager(serverID);
       MessageIdGenerator gen =
-         MessageIdGeneratorFactory.instance.getGenerator(serverID, cfd);
+         MessageIdGeneratorFactory.instance.checkOutGenerator(serverID, cfd);
 
       ConnectionState connectionState =
          new ConnectionState(serverID, connectionDelegate,

Modified: branches/Branch_1_0/src/main/org/jboss/jms/message/MessageIdGeneratorFactory.java
===================================================================
--- branches/Branch_1_0/src/main/org/jboss/jms/message/MessageIdGeneratorFactory.java	2006-09-20 21:10:48 UTC (rev 1328)
+++ branches/Branch_1_0/src/main/org/jboss/jms/message/MessageIdGeneratorFactory.java	2006-09-20 21:29:56 UTC (rev 1329)
@@ -27,6 +27,7 @@
 import javax.jms.JMSException;
 
 import org.jboss.jms.delegate.ConnectionFactoryDelegate;
+import org.jboss.logging.Logger;
 
 /**
  * This class manages instances of MessageIdGenerator. It ensures there is one instance per instance
@@ -39,25 +40,37 @@
  */
 public class MessageIdGeneratorFactory
 {
+   // Constants -----------------------------------------------------
+
+   private static final Logger log = Logger.getLogger(MessageIdGeneratorFactory.class);
+
    public static MessageIdGeneratorFactory instance = new MessageIdGeneratorFactory();
 
    //TODO Make configurable
    private static final int BLOCK_SIZE = 256;
 
+   // Static --------------------------------------------------------
+
+   // Attributes ----------------------------------------------------
+
    private Map holders;
 
+   // Constructors --------------------------------------------------
+
    private MessageIdGeneratorFactory()
    {
       holders = new HashMap();
    }
 
+   // Public --------------------------------------------------------
+
    public synchronized boolean containsMessageIdGenerator(String serverId)
    {
       return holders.containsKey(serverId);
    }
 
-   public synchronized MessageIdGenerator getGenerator(String serverId,
-                                                       ConnectionFactoryDelegate cfd)
+   public synchronized MessageIdGenerator checkOutGenerator(String serverId,
+                                                            ConnectionFactoryDelegate cfd)
       throws JMSException
    {
       Holder h = (Holder)holders.get(serverId);
@@ -65,17 +78,21 @@
       if (h == null)
       {
          h = new Holder(new MessageIdGenerator(cfd, BLOCK_SIZE));
-
          holders.put(serverId, h);
       }
       else
       {
          h.refCount++;
       }
+
+      log.debug("checked out MessageIdGenerator for " + serverId +
+                ", reference count is " + h.refCount);
+
+
       return h.generator;
    }
 
-   public synchronized void returnGenerator(String serverId)
+   public synchronized void checkInGenerator(String serverId)
    {
       Holder h = (Holder)holders.get(serverId);
 
@@ -89,14 +106,29 @@
       if (h.refCount == 0)
       {
          holders.remove(serverId);
+         log.debug("checked in and removed MessageIdGenerator for " + serverId);
       }
+      else
+      {
+         log.debug("checked in MessageIdGenerator for " + serverId +
+                   ", reference count is " + h.refCount);
+      }
    }
 
    public synchronized void clear()
    {
       holders.clear();
+      log.debug("cleared MessageIdGeneratorFactory");
    }
 
+   // Package protected ---------------------------------------------
+
+   // Protected -----------------------------------------------------
+
+   // Private -------------------------------------------------------
+
+   // Inner classes -------------------------------------------------
+
    private class Holder
    {
       private Holder(MessageIdGenerator gen)

Modified: branches/Branch_1_0/src/main/org/jboss/jms/tx/ResourceManagerFactory.java
===================================================================
--- branches/Branch_1_0/src/main/org/jboss/jms/tx/ResourceManagerFactory.java	2006-09-20 21:10:48 UTC (rev 1328)
+++ branches/Branch_1_0/src/main/org/jboss/jms/tx/ResourceManagerFactory.java	2006-09-20 21:29:56 UTC (rev 1329)
@@ -58,7 +58,7 @@
    /**
     * @param serverID - server peer ID.
     */
-   public synchronized ResourceManager getResourceManager(String serverID)
+   public synchronized ResourceManager checkOutResourceManager(String serverID)
    {
       Holder h = (Holder)holders.get(serverID);
       
@@ -76,7 +76,7 @@
       return h.rm;
    }
    
-   public synchronized void returnResourceManager(String serverID)
+   public synchronized void checkInResourceManager(String serverID)
    {
       Holder h = (Holder)holders.get(serverID);
       

Modified: branches/Branch_1_0/tests/src/org/jboss/test/messaging/tools/ServerManagement.java
===================================================================
--- branches/Branch_1_0/tests/src/org/jboss/test/messaging/tools/ServerManagement.java	2006-09-20 21:10:48 UTC (rev 1328)
+++ branches/Branch_1_0/tests/src/org/jboss/test/messaging/tools/ServerManagement.java	2006-09-20 21:29:56 UTC (rev 1329)
@@ -125,18 +125,6 @@
       throw new IllegalStateException("The RMI server doesn't seem to be started. " +
                                       "Start it and re-run the test.");
 
-//      // start the service container and the JMS server in a different VM
-//      vmStarter = new Thread(new VMStarter(), "External VM Starter Thread");
-//      vmStarter.setDaemon(true);
-//      vmStarter.start();
-//
-//      server = acquireRemote(RMI_SERVER_LOOKUP_RETRIES);
-//
-//      if (server == null)
-//      {
-//         throw new IllegalStateException("Cannot find remote server " +
-//                                         TestServer.RMI_SERVER_NAME + " in registry");
-//      }
    }
 
    public static synchronized void start(String config) throws Exception




More information about the jboss-cvs-commits mailing list