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 2012/06/07 18:57:41 UTC

svn commit: r1347711 - in /qpid/branches/java-config-and-management/qpid/java: broker/src/main/java/org/apache/qpid/server/exchange/ broker/src/main/java/org/apache/qpid/server/management/ broker/src/main/java/org/apache/qpid/server/queue/ broker/src/t...

Author: robbie
Date: Thu Jun  7 16:57:39 2012
New Revision: 1347711

URL: http://svn.apache.org/viewvc?rev=1347711&view=rev
Log:
remove the old exchange mbeans

Removed:
    qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/management/AbstractExchangeMBean.java
    qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/management/DirectExchangeMBean.java
    qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/management/FanoutExchangeMBean.java
    qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/management/HeadersExchangeMBean.java
    qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/management/TopicExchangeMBean.java
    qpid/branches/java-config-and-management/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/ExchangeMBeanTest.java
    qpid/branches/java-config-and-management/qpid/java/management/eclipse-plugin/src/test/java/org/apache/qpid/management/ui/ManagementConsoleTest.java
Modified:
    qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java
    qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeRegistry.java
    qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DirectExchange.java
    qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/FanoutExchange.java
    qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java
    qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/TopicExchange.java
    qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/DefaultQueueRegistry.java

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java?rev=1347711&r1=1347710&r2=1347711&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java Thu Jun  7 16:57:39 2012
@@ -30,16 +30,13 @@ import org.apache.qpid.server.logging.Lo
 import org.apache.qpid.server.logging.actors.CurrentActor;
 import org.apache.qpid.server.logging.messages.ExchangeMessages;
 import org.apache.qpid.server.logging.subjects.ExchangeLogSubject;
-import org.apache.qpid.server.management.AbstractExchangeMBean;
 import org.apache.qpid.server.management.Managable;
-import org.apache.qpid.server.management.ManagedObject;
 import org.apache.qpid.server.message.InboundMessage;
 import org.apache.qpid.server.queue.AMQQueue;
 import org.apache.qpid.server.queue.BaseQueue;
 import org.apache.qpid.server.queue.QueueRegistry;
 import org.apache.qpid.server.virtualhost.VirtualHost;
 
-import javax.management.JMException;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
@@ -51,10 +48,8 @@ import java.util.concurrent.atomic.Atomi
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicLong;
 
-public abstract class AbstractExchange implements Exchange, Managable
+public abstract class AbstractExchange implements Exchange
 {
-
-
     private AMQShortString _name;
     private final AtomicBoolean _closed = new AtomicBoolean();
 
@@ -67,9 +62,6 @@ public abstract class AbstractExchange i
 
     private final List<Exchange.Task> _closeTaskList = new CopyOnWriteArrayList<Exchange.Task>();
 
-
-    private AbstractExchangeMBean _exchangeMbean;
-
     /**
      * Whether the exchange is automatically deleted once all queues have detached from it
      */
@@ -110,13 +102,6 @@ public abstract class AbstractExchange i
         return _type.getName();
     }
 
-    /**
-     * Concrete exchanges must implement this method in order to create the managed representation. This is
-     * called during initialisation (template method pattern).
-     * @return the MBean
-     */
-    protected abstract AbstractExchangeMBean createMBean() throws JMException;
-
     public void initialise(UUID id, VirtualHost host, AMQShortString name, boolean durable, int ticket, boolean autoDelete)
             throws AMQException
     {
@@ -129,26 +114,12 @@ public abstract class AbstractExchange i
         _id = id;
 
         getConfigStore().addConfiguredObject(this);
-        createAndRegisterMBean();
         _logSubject = new ExchangeLogSubject(this, this.getVirtualHost());
 
         // Log Exchange creation
         CurrentActor.get().message(ExchangeMessages.CREATED(String.valueOf(getTypeShortString()), String.valueOf(name), durable));
     }
 
-    private void createAndRegisterMBean()
-    {
-        try
-        {
-            _exchangeMbean = createMBean();
-            _exchangeMbean.register();
-        }
-        catch (JMException e)
-        {
-            throw new RuntimeException("Failed to register mbean",e);
-        }
-    }
-
     public ConfigStore getConfigStore()
     {
         return getVirtualHost().getConfigStore();
@@ -174,10 +145,6 @@ public abstract class AbstractExchange i
 
         if(_closed.compareAndSet(false,true))
         {
-            if (_exchangeMbean != null)
-            {
-                _exchangeMbean.unregister();
-            }
             getConfigStore().removeConfiguredObject(this);
             if(_alternateExchange != null)
             {
@@ -199,11 +166,6 @@ public abstract class AbstractExchange i
         return getClass().getSimpleName() + "[" + getNameShortString() +"]";
     }
 
-    public ManagedObject getManagedObject()
-    {
-        return _exchangeMbean;
-    }
-
     public VirtualHost getVirtualHost()
     {
         return _virtualHost;

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeRegistry.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeRegistry.java?rev=1347711&r1=1347710&r2=1347711&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeRegistry.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeRegistry.java Thu Jun  7 16:57:39 2012
@@ -189,16 +189,14 @@ public class DefaultExchangeRegistry imp
         {
             final Exchange exchange = getExchange(exchangeName);
 
-            if (exchange instanceof AbstractExchange)
+            //TODO: this is a bit of a hack, what if the listeners aren't aware
+            //that we are just unregistering the MBean because of HA, and aren't
+            //actually removing the exchange as such.
+            synchronized (_listeners)
             {
-                AbstractExchange abstractExchange = (AbstractExchange) exchange;
-                try
+                for(RegistryChangeListener listener : _listeners)
                 {
-                    abstractExchange.getManagedObject().unregister();
-                }
-                catch (AMQException e)
-                {
-                    LOGGER.warn("Failed to unregister mbean", e);
+                    listener.exchangeUnregistered(exchange);
                 }
             }
         }

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DirectExchange.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DirectExchange.java?rev=1347711&r1=1347710&r2=1347711&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DirectExchange.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DirectExchange.java Thu Jun  7 16:57:39 2012
@@ -27,8 +27,6 @@ import org.apache.qpid.exchange.Exchange
 import org.apache.qpid.framing.AMQShortString;
 import org.apache.qpid.framing.FieldTable;
 import org.apache.qpid.server.binding.Binding;
-import org.apache.qpid.server.management.AbstractExchangeMBean;
-import org.apache.qpid.server.management.DirectExchangeMBean;
 import org.apache.qpid.server.message.InboundMessage;
 import org.apache.qpid.server.queue.AMQQueue;
 import org.apache.qpid.server.queue.BaseQueue;
@@ -129,11 +127,6 @@ public class DirectExchange extends Abst
         super(TYPE);
     }
 
-    protected AbstractExchangeMBean createMBean() throws JMException
-    {
-        return new DirectExchangeMBean(this);
-    }
-
     public List<? extends BaseQueue> doRoute(InboundMessage payload)
     {
 

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/FanoutExchange.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/FanoutExchange.java?rev=1347711&r1=1347710&r2=1347711&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/FanoutExchange.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/FanoutExchange.java Thu Jun  7 16:57:39 2012
@@ -27,8 +27,6 @@ import org.apache.qpid.exchange.Exchange
 import org.apache.qpid.framing.AMQShortString;
 import org.apache.qpid.framing.FieldTable;
 import org.apache.qpid.server.binding.Binding;
-import org.apache.qpid.server.management.AbstractExchangeMBean;
-import org.apache.qpid.server.management.FanoutExchangeMBean;
 import org.apache.qpid.server.message.InboundMessage;
 import org.apache.qpid.server.queue.AMQQueue;
 import org.apache.qpid.server.queue.BaseQueue;
@@ -50,11 +48,6 @@ public class FanoutExchange extends Abst
      */
     private final ConcurrentHashMap<AMQQueue,Integer> _queues = new ConcurrentHashMap<AMQQueue,Integer>();
 
-    protected AbstractExchangeMBean createMBean() throws JMException
-    {
-        return new FanoutExchangeMBean(this);
-    }
-
     public static final ExchangeType<FanoutExchange> TYPE = new ExchangeType<FanoutExchange>()
     {
 

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java?rev=1347711&r1=1347710&r2=1347711&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java Thu Jun  7 16:57:39 2012
@@ -27,8 +27,6 @@ import org.apache.qpid.exchange.Exchange
 import org.apache.qpid.framing.AMQShortString;
 import org.apache.qpid.framing.FieldTable;
 import org.apache.qpid.server.binding.Binding;
-import org.apache.qpid.server.management.AbstractExchangeMBean;
-import org.apache.qpid.server.management.HeadersExchangeMBean;
 import org.apache.qpid.server.message.AMQMessageHeader;
 import org.apache.qpid.server.message.InboundMessage;
 import org.apache.qpid.server.queue.AMQQueue;
@@ -229,11 +227,6 @@ public class HeadersExchange extends Abs
         return !getBindings().isEmpty();
     }
 
-    protected AbstractExchangeMBean createMBean() throws JMException
-    {
-        return new HeadersExchangeMBean(this);
-    }
-
     protected void onBind(final Binding binding)
     {
         String bindingKey = binding.getBindingKey();

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/TopicExchange.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/TopicExchange.java?rev=1347711&r1=1347710&r2=1347711&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/TopicExchange.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/TopicExchange.java Thu Jun  7 16:57:39 2012
@@ -48,8 +48,6 @@ import org.apache.qpid.server.exchange.t
 import org.apache.qpid.server.exchange.topic.TopicParser;
 import org.apache.qpid.server.filter.JMSSelectorFilter;
 import org.apache.qpid.server.filter.MessageFilter;
-import org.apache.qpid.server.management.AbstractExchangeMBean;
-import org.apache.qpid.server.management.TopicExchangeMBean;
 import org.apache.qpid.server.message.InboundMessage;
 import org.apache.qpid.server.protocol.AMQSessionModel;
 import org.apache.qpid.server.queue.AMQQueue;
@@ -405,11 +403,6 @@ public class TopicExchange extends Abstr
         }
     }
 
-    protected AbstractExchangeMBean createMBean() throws JMException
-    {
-        return new TopicExchangeMBean(this);
-    }
-
     private Collection<AMQQueue> getMatchedQueues(InboundMessage message, AMQShortString routingKey)
     {
 

Modified: qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/DefaultQueueRegistry.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/DefaultQueueRegistry.java?rev=1347711&r1=1347710&r2=1347711&view=diff
==============================================================================
--- qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/DefaultQueueRegistry.java (original)
+++ qpid/branches/java-config-and-management/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/DefaultQueueRegistry.java Thu Jun  7 16:57:39 2012
@@ -115,6 +115,9 @@ public class DefaultQueueRegistry implem
             queue.stop();
             try
             {
+                //TODO: this needs updated to use the
+                //listener model, the managed object being
+                //accessed here is no longer used
                 queue.getManagedObject().unregister();
             }
             catch (AMQException e)



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org