You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ro...@apache.org on 2010/04/19 10:34:36 UTC

svn commit: r935474 - /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/qmf/QMFService.java

Author: robbie
Date: Mon Apr 19 08:34:36 2010
New Revision: 935474

URL: http://svn.apache.org/viewvc?rev=935474&view=rev
Log:
QPID-2379 / QPID-2400: Unregister event listeners during QMFService shutdown to prevent fielding object removal events that cant be actioned anymore. Add null check to the QMFClass retrieval during the unmanage process.

Modified:
    qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/qmf/QMFService.java

Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/qmf/QMFService.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/qmf/QMFService.java?rev=935474&r1=935473&r2=935474&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/qmf/QMFService.java (original)
+++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/qmf/QMFService.java Mon Apr 19 08:34:36 2010
@@ -359,6 +359,12 @@ public class QMFService implements Confi
 
     public void close()
     {
+        for(ConfigObjectType v : _qmfClassMapping.values())
+        {
+            _configStore.removeConfigEventListener(v, this);
+        }
+        _listeners.clear();
+        
         _managedObjects.clear();
         _managedObjectsById.clear();
         _classMap.clear();
@@ -414,6 +420,11 @@ public class QMFService implements Confi
     private void unmanageObject(final ConfiguredObject object)
     {
         final QMFClass qmfClass = _classMap.get(object.getConfigType());
+        
+        if(qmfClass == null)
+        {
+            return;
+        }
 
         ConcurrentHashMap<ConfiguredObject, QMFObject> classObjects = _managedObjects.get(qmfClass);
         if(classObjects != null)



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org