[jboss-cvs] JBoss Messaging SVN: r4109 - trunk/src/main/org/jboss/messaging/core/remoting/impl.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Apr 24 09:52:26 EDT 2008


Author: jmesnil
Date: 2008-04-24 09:52:26 -0400 (Thu, 24 Apr 2008)
New Revision: 4109

Modified:
   trunk/src/main/org/jboss/messaging/core/remoting/impl/PacketDispatcherImpl.java
Log:
in unregister(), log a warning and dump the handlers if the PacketHandler is not found

Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/PacketDispatcherImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/PacketDispatcherImpl.java	2008-04-24 13:47:21 UTC (rev 4108)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/PacketDispatcherImpl.java	2008-04-24 13:52:26 UTC (rev 4109)
@@ -9,8 +9,10 @@
 import static org.jboss.messaging.core.remoting.impl.wireformat.PacketImpl.NO_ID_SET;
 
 import java.io.Serializable;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.Map.Entry;
 import java.util.concurrent.ConcurrentHashMap;
 
 import org.jboss.messaging.core.logging.Logger;
@@ -59,7 +61,7 @@
 
       if (log.isDebugEnabled())
       {
-         log.debug("registered " + handler + " with ID " + handler.getID());
+         log.debug("registered " + handler + " with ID " + handler.getID() + " (" + this + ")");
       }
       
       if (listener != null)
@@ -72,6 +74,11 @@
    {
       PacketHandler handler = handlers.remove(handlerID);
       
+      if (handler == null)
+      {
+         log.warn("no handler defined for " + handlerID);
+         dump();      
+      }
       if (log.isDebugEnabled())
       {
          log.debug("unregistered " + handler);
@@ -134,5 +141,20 @@
 
    // Private -------------------------------------------------------
 
+   private void dump() 
+   {
+      if (log.isDebugEnabled())
+      {
+         StringBuffer buf = new StringBuffer("Registered PacketHandlers (Ê" + this + "):\n");
+         Iterator<Entry<Long, PacketHandler>> iterator = handlers.entrySet().iterator();
+         while (iterator.hasNext())
+         {
+            Map.Entry<java.lang.Long, org.jboss.messaging.core.remoting.PacketHandler> entry = (Map.Entry<java.lang.Long, org.jboss.messaging.core.remoting.PacketHandler>) iterator
+                  .next();
+            buf.append(entry.getKey() + " : " + entry.getValue() + "\n");
+         }
+         log.debug(buf.toString());
+      }
+   }
    // Inner classes -------------------------------------------------
 }




More information about the jboss-cvs-commits mailing list