[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