You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2007/08/06 15:06:37 UTC

svn commit: r563125 - in /incubator/qpid/trunk/qpid/java: broker/src/main/java/org/apache/qpid/server/exchange/ broker/src/main/java/org/apache/qpid/server/virtualhost/ broker/src/test/java/org/apache/qpid/server/exchange/ client/src/main/java/org/apac...

Author: rgodfrey
Date: Mon Aug  6 06:06:35 2007
New Revision: 563125

URL: http://svn.apache.org/viewvc?view=rev&rev=563125
Log:
QPID-543 : Add ability to register cusom exchange types

Added:
    incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeType.java
Modified:
    incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java
    incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeFactory.java
    incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DestNameExchange.java
    incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DestWildExchange.java
    incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/Exchange.java
    incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeFactory.java
    incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeRegistry.java
    incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/FanoutExchange.java
    incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java
    incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ManagedExchange.java
    incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHost.java
    incubator/qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/ExchangeMBeanTest.java
    incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java
    incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/test/java/org/apache/qpid/management/ui/ManagementConsoleTest.java

Modified: incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java?view=diff&rev=563125&r1=563124&r2=563125
==============================================================================
--- incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java (original)
+++ incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java Mon Aug  6 06:06:35 2007
@@ -49,7 +49,7 @@
 
     protected boolean _durable;
     protected String _exchangeType;
-    protected int _ticket;
+
 
     private VirtualHost _virtualHost;
 
@@ -114,11 +114,6 @@
             return _exchangeType;
         }
 
-        public Integer getTicketNo()
-        {
-            return _ticket;
-        }
-
         public boolean isDurable()
         {
             return _durable;
@@ -155,13 +150,12 @@
      */
     protected abstract ExchangeMBean createMBean() throws AMQException;
 
-    public void initialise(VirtualHost host, AMQShortString name, boolean durable, int ticket, boolean autoDelete) throws AMQException
+    public void initialise(VirtualHost host, AMQShortString name, boolean durable, boolean autoDelete) throws AMQException
     {
         _virtualHost = host;
         _name = name;
         _durable = durable;
         _autoDelete = autoDelete;
-        _ticket = ticket;
         _exchangeMbean = createMBean();
         _exchangeMbean.register();
     }
@@ -174,11 +168,6 @@
     public boolean isAutoDelete()
     {
         return _autoDelete;
-    }
-
-    public int getTicket()
-    {
-        return _ticket;
     }
 
     public void close() throws AMQException

Modified: incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeFactory.java
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeFactory.java?view=diff&rev=563125&r1=563124&r2=563125
==============================================================================
--- incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeFactory.java (original)
+++ incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeFactory.java Mon Aug  6 06:06:35 2007
@@ -24,6 +24,8 @@
 import java.util.Map;
 
 import org.apache.log4j.Logger;
+import org.apache.commons.configuration.Configuration;
+
 import org.apache.qpid.AMQException;
 import org.apache.qpid.AMQUnknownExchangeType;
 import org.apache.qpid.exchange.ExchangeDefaults;
@@ -34,42 +36,66 @@
 {
     private static final Logger _logger = Logger.getLogger(DefaultExchangeFactory.class);
 
-    private Map<AMQShortString, Class<? extends Exchange>> _exchangeClassMap = new HashMap<AMQShortString, Class<? extends Exchange>>();
+    private Map<AMQShortString, ExchangeType<? extends Exchange>> _exchangeClassMap = new HashMap<AMQShortString, ExchangeType<? extends Exchange>>();
     private final VirtualHost _host;
 
     public DefaultExchangeFactory(VirtualHost host)
     {
         _host = host;
-        _exchangeClassMap.put(ExchangeDefaults.DIRECT_EXCHANGE_CLASS, org.apache.qpid.server.exchange.DestNameExchange.class);
-        _exchangeClassMap.put(ExchangeDefaults.TOPIC_EXCHANGE_CLASS, org.apache.qpid.server.exchange.DestWildExchange.class);
-        _exchangeClassMap.put(ExchangeDefaults.HEADERS_EXCHANGE_CLASS, org.apache.qpid.server.exchange.HeadersExchange.class);
-        _exchangeClassMap.put(ExchangeDefaults.FANOUT_EXCHANGE_CLASS, org.apache.qpid.server.exchange.FanoutExchange.class);
+        registerExchangeType(DestNameExchange.TYPE);
+        registerExchangeType(DestWildExchange.TYPE);
+        registerExchangeType(HeadersExchange.TYPE);
+        registerExchangeType(FanoutExchange.TYPE);
+
+    }
 
+    public void registerExchangeType(ExchangeType<? extends Exchange> type)
+    {
+        _exchangeClassMap.put(type.getName(), type);
     }
 
     public Exchange createExchange(AMQShortString exchange, AMQShortString type, boolean durable, boolean autoDelete,
                                    int ticket)
             throws AMQException
     {
-        Class<? extends Exchange> exchClass = _exchangeClassMap.get(type);
-        if (exchClass == null)
+        ExchangeType<? extends Exchange> exchType = _exchangeClassMap.get(type);
+        if (exchType == null)
         {
 
             throw new AMQUnknownExchangeType("Unknown exchange type: " + type, null);
         }
-        try
-        {
-            Exchange e = exchClass.newInstance();
-            e.initialise(_host, exchange, durable, ticket, autoDelete);
-            return e;
-        }
-        catch (InstantiationException e)
-        {
-            throw new AMQException(null, "Unable to create exchange: " + e, e);
-        }
-        catch (IllegalAccessException e)
+        Exchange e = exchType.newInstance(_host, exchange, durable, autoDelete);
+        return e;
+    }
+
+    public void initialise(Configuration hostConfig)
+    {
+        for(Object className : hostConfig.getList("custom-exchanges.class-name"))
         {
-            throw new AMQException(null, "Unable to create exchange: " + e, e);
+            try
+            {
+                Class<? extends ExchangeType> exchangeTypeClass = (Class<? extends ExchangeType>) Class.forName(String.valueOf(className));
+                ExchangeType type = exchangeTypeClass.newInstance();
+                registerExchangeType(type);
+
+            }
+            catch (ClassNotFoundException e)
+            {
+                _logger.error("No such custom exchange class found: \""+String.valueOf(className)+"\"");
+            }
+            catch (ClassCastException classCastEx)
+            {
+                _logger.error("No custom exchange class: \""+String.valueOf(className)+"\" cannot be registered as it does not extend class \""+ExchangeType.class+"\"");
+            }
+            catch (IllegalAccessException e)
+            {
+                _logger.error("Cannot create custom exchange class: \""+String.valueOf(className)+"\"",e);
+            }
+            catch (InstantiationException e)
+            {
+                _logger.error("Cannot create custom exchange class: \""+String.valueOf(className)+"\"",e);
+            }
         }
+
     }
 }

Modified: incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DestNameExchange.java
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DestNameExchange.java?view=diff&rev=563125&r1=563124&r2=563125
==============================================================================
--- incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DestNameExchange.java (original)
+++ incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DestNameExchange.java Mon Aug  6 06:06:35 2007
@@ -48,6 +48,7 @@
 import org.apache.qpid.server.management.MBeanDescription;
 import org.apache.qpid.server.queue.AMQMessage;
 import org.apache.qpid.server.queue.AMQQueue;
+import org.apache.qpid.server.virtualhost.VirtualHost;
 
 public class DestNameExchange extends AbstractExchange
 {
@@ -57,6 +58,30 @@
      * Maps from queue name to queue instances
      */
     private final Index _index = new Index();
+
+    public static final ExchangeType<DestNameExchange> TYPE = new ExchangeType<DestNameExchange>()
+    {
+
+        public AMQShortString getName()
+        {
+            return ExchangeDefaults.DIRECT_EXCHANGE_CLASS;
+        }
+
+        public Class<DestNameExchange> getExchangeClass()
+        {
+            return DestNameExchange.class;
+        }
+
+        public DestNameExchange newInstance(VirtualHost host,
+                                            AMQShortString name,
+                                            boolean durable,
+                                            boolean autoDelete) throws AMQException
+        {
+            DestNameExchange exch = new DestNameExchange();
+            exch.initialise(host,name,durable,autoDelete);
+            return exch;
+        }
+    };
 
     /**
      * MBean class implementing the management interfaces.

Modified: incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DestWildExchange.java
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DestWildExchange.java?view=diff&rev=563125&r1=563124&r2=563125
==============================================================================
--- incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DestWildExchange.java (original)
+++ incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DestWildExchange.java Mon Aug  6 06:06:35 2007
@@ -32,6 +32,7 @@
 import org.apache.qpid.server.management.MBeanDescription;
 import org.apache.qpid.server.queue.AMQMessage;
 import org.apache.qpid.server.queue.AMQQueue;
+import org.apache.qpid.server.virtualhost.VirtualHost;
 
 import javax.management.JMException;
 import javax.management.MBeanException;
@@ -56,6 +57,32 @@
 
 public class DestWildExchange extends AbstractExchange
 {
+
+    public static final ExchangeType<DestWildExchange> TYPE = new ExchangeType<DestWildExchange>()
+    {
+
+        public AMQShortString getName()
+        {
+            return ExchangeDefaults.TOPIC_EXCHANGE_CLASS;
+        }
+
+        public Class<DestWildExchange> getExchangeClass()
+        {
+            return DestWildExchange.class;
+        }
+
+        public DestWildExchange newInstance(VirtualHost host,
+                                            AMQShortString name,
+                                            boolean durable,
+                                            boolean autoDelete) throws AMQException
+        {
+            DestWildExchange exch = new DestWildExchange();
+            exch.initialise(host,name,durable,autoDelete);
+            return exch;
+        }
+    };
+
+
     private static final Logger _logger = Logger.getLogger(DestWildExchange.class);
 
     private ConcurrentHashMap<AMQShortString, List<AMQQueue>> _routingKey2queues =

Modified: incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/Exchange.java
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/Exchange.java?view=diff&rev=563125&r1=563124&r2=563125
==============================================================================
--- incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/Exchange.java (original)
+++ incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/Exchange.java Mon Aug  6 06:06:35 2007
@@ -32,7 +32,7 @@
     AMQShortString getName();
     AMQShortString getType();
 
-    void initialise(VirtualHost host, AMQShortString name, boolean durable, int ticket, boolean autoDelete) throws AMQException;
+    
 
     boolean isDurable();
 
@@ -40,8 +40,6 @@
      * @return true if the exchange will be deleted after all queues have been detached
      */
     boolean isAutoDelete();
-
-    int getTicket();
 
     void close() throws AMQException;
 

Modified: incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeFactory.java
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeFactory.java?view=diff&rev=563125&r1=563124&r2=563125
==============================================================================
--- incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeFactory.java (original)
+++ incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeFactory.java Mon Aug  6 06:06:35 2007
@@ -20,6 +20,8 @@
  */
 package org.apache.qpid.server.exchange;
 
+import org.apache.commons.configuration.Configuration;
+
 import org.apache.qpid.AMQException;
 import org.apache.qpid.framing.AMQShortString;
 
@@ -29,4 +31,6 @@
     Exchange createExchange(AMQShortString exchange, AMQShortString type, boolean durable, boolean autoDelete,
                             int ticket)
             throws AMQException;
+
+    void initialise(Configuration hostConfig);
 }

Modified: incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeRegistry.java
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeRegistry.java?view=diff&rev=563125&r1=563124&r2=563125
==============================================================================
--- incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeRegistry.java (original)
+++ incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeRegistry.java Mon Aug  6 06:06:35 2007
@@ -20,6 +20,8 @@
  */
 package org.apache.qpid.server.exchange;
 
+import org.apache.commons.configuration.Configuration;
+
 import org.apache.qpid.AMQException;
 import org.apache.qpid.framing.AMQShortString;
 

Added: incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeType.java
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeType.java?view=auto&rev=563125
==============================================================================
--- incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeType.java (added)
+++ incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeType.java Mon Aug  6 06:06:35 2007
@@ -0,0 +1,34 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.qpid.server.exchange;
+
+import org.apache.qpid.framing.AMQShortString;
+import org.apache.qpid.AMQException;
+import org.apache.qpid.server.virtualhost.VirtualHost;
+
+
+public interface ExchangeType<T extends Exchange>
+{
+    public AMQShortString getName();
+    public Class<T> getExchangeClass();
+    public T newInstance(VirtualHost host, AMQShortString name,
+                         boolean durable, boolean autoDelete) throws AMQException;
+}

Modified: incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/FanoutExchange.java
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/FanoutExchange.java?view=diff&rev=563125&r1=563124&r2=563125
==============================================================================
--- incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/FanoutExchange.java (original)
+++ incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/FanoutExchange.java Mon Aug  6 06:06:35 2007
@@ -31,6 +31,7 @@
 import org.apache.qpid.server.management.MBeanDescription;
 import org.apache.qpid.server.queue.AMQMessage;
 import org.apache.qpid.server.queue.AMQQueue;
+import org.apache.qpid.server.virtualhost.VirtualHost;
 
 import javax.management.JMException;
 import javax.management.MBeanException;
@@ -49,7 +50,35 @@
 
 public class FanoutExchange extends AbstractExchange
 {
+
+
     private static final Logger _logger = Logger.getLogger(FanoutExchange.class);
+
+
+    public static final ExchangeType<FanoutExchange> TYPE = new ExchangeType<FanoutExchange>()
+        {
+
+            public AMQShortString getName()
+            {
+                return ExchangeDefaults.FANOUT_EXCHANGE_CLASS;
+            }
+
+            public Class<FanoutExchange> getExchangeClass()
+            {
+                return FanoutExchange.class;
+            }
+
+            public FanoutExchange newInstance(VirtualHost host,
+                                                AMQShortString name,
+                                                boolean durable,
+                                                boolean autoDelete) throws AMQException
+            {
+                FanoutExchange exch = new FanoutExchange();
+                exch.initialise(host,name,durable,autoDelete);
+                return exch;
+            }
+        };
+
 
     /**
      * Maps from queue name to queue instances

Modified: incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java?view=diff&rev=563125&r1=563124&r2=563125
==============================================================================
--- incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java (original)
+++ incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java Mon Aug  6 06:06:35 2007
@@ -49,6 +49,7 @@
 import org.apache.qpid.server.management.MBeanDescription;
 import org.apache.qpid.server.queue.AMQMessage;
 import org.apache.qpid.server.queue.AMQQueue;
+import org.apache.qpid.server.virtualhost.VirtualHost;
 
 /**
  * An exchange that binds queues based on a set of required headers and header values
@@ -80,6 +81,33 @@
 public class HeadersExchange extends AbstractExchange
 {
     private static final Logger _logger = Logger.getLogger(HeadersExchange.class);
+
+
+
+    public static final ExchangeType<HeadersExchange> TYPE = new ExchangeType<HeadersExchange>()
+        {
+
+            public AMQShortString getName()
+            {
+                return ExchangeDefaults.HEADERS_EXCHANGE_CLASS;
+            }
+
+            public Class<HeadersExchange> getExchangeClass()
+            {
+                return HeadersExchange.class;
+            }
+
+            public HeadersExchange newInstance(VirtualHost host,
+                                                AMQShortString name,
+                                                boolean durable,
+                                                boolean autoDelete) throws AMQException
+            {
+                HeadersExchange exch = new HeadersExchange();
+                exch.initialise(host,name,durable,autoDelete);
+                return exch;
+            }
+        };
+
 
     private final List<Registration> _bindings = new CopyOnWriteArrayList<Registration>();
 

Modified: incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ManagedExchange.java
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ManagedExchange.java?view=diff&rev=563125&r1=563124&r2=563125
==============================================================================
--- incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ManagedExchange.java (original)
+++ incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/ManagedExchange.java Mon Aug  6 06:06:35 2007
@@ -52,9 +52,6 @@
     @MBeanAttribute(name="ExchangeType", description="Exchange Type")
     String getExchangeType() throws IOException;
 
-    @MBeanAttribute(name="TicketNo", description="Exchange Ticket No")
-    Integer getTicketNo() throws IOException;
-
     /**
      * Tells if the exchange is durable or not.
      * @return true if the exchange is durable.

Modified: incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHost.java
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHost.java?view=diff&rev=563125&r1=563124&r2=563125
==============================================================================
--- incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHost.java (original)
+++ incubator/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHost.java Mon Aug  6 06:06:35 2007
@@ -146,6 +146,7 @@
 
         _queueRegistry = new DefaultQueueRegistry(this);
         _exchangeFactory = new DefaultExchangeFactory(this);
+        _exchangeFactory.initialise(hostConfig);
         _exchangeRegistry = new DefaultExchangeRegistry(this);
 
         if (store != null)
@@ -163,6 +164,7 @@
         }
 
         _exchangeRegistry.initialise();
+
 
         _logger.warn("VirtualHost authentication Managers require spec change to be operational.");
         _authenticationManager = new PrincipalDatabaseAuthenticationManager(name, hostConfig);

Modified: incubator/qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/ExchangeMBeanTest.java
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/ExchangeMBeanTest.java?view=diff&rev=563125&r1=563124&r2=563125
==============================================================================
--- incubator/qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/ExchangeMBeanTest.java (original)
+++ incubator/qpid/trunk/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/ExchangeMBeanTest.java Mon Aug  6 06:06:35 2007
@@ -48,7 +48,7 @@
     public void testDirectExchangeMBean() throws Exception
     {
         DestNameExchange exchange = new DestNameExchange();
-        exchange.initialise(_virtualHost, ExchangeDefaults.DIRECT_EXCHANGE_NAME, false, 0, true);
+        exchange.initialise(_virtualHost, ExchangeDefaults.DIRECT_EXCHANGE_NAME, false, true);
         ManagedObject managedObj = exchange.getManagedObject();
         ManagedExchange mbean = (ManagedExchange)managedObj;
 
@@ -62,7 +62,6 @@
         // test general exchange properties
         assertEquals(mbean.getName(), "amq.direct");
         assertEquals(mbean.getExchangeType(), "direct");
-        assertTrue(mbean.getTicketNo() == 0);
         assertTrue(!mbean.isDurable());
         assertTrue(mbean.isAutoDelete());
     }
@@ -75,7 +74,7 @@
     public void testTopicExchangeMBean() throws Exception
     {
         DestWildExchange exchange = new DestWildExchange();
-        exchange.initialise(_virtualHost,ExchangeDefaults.TOPIC_EXCHANGE_NAME, false, 0, true);
+        exchange.initialise(_virtualHost,ExchangeDefaults.TOPIC_EXCHANGE_NAME, false, true);
         ManagedObject managedObj = exchange.getManagedObject();
         ManagedExchange mbean = (ManagedExchange)managedObj;
 
@@ -89,7 +88,6 @@
         // test general exchange properties
         assertEquals(mbean.getName(), "amq.topic");
         assertEquals(mbean.getExchangeType(), "topic");
-        assertTrue(mbean.getTicketNo() == 0);
         assertTrue(!mbean.isDurable());
         assertTrue(mbean.isAutoDelete());
     }
@@ -102,7 +100,7 @@
     public void testHeadersExchangeMBean() throws Exception
     {
         HeadersExchange exchange = new HeadersExchange();
-        exchange.initialise(_virtualHost,ExchangeDefaults.HEADERS_EXCHANGE_NAME, false, 0, true);
+        exchange.initialise(_virtualHost,ExchangeDefaults.HEADERS_EXCHANGE_NAME, false, true);
         ManagedObject managedObj = exchange.getManagedObject();
         ManagedExchange mbean = (ManagedExchange)managedObj;
 
@@ -116,7 +114,6 @@
         // test general exchange properties
         assertEquals(mbean.getName(), "amq.match");
         assertEquals(mbean.getExchangeType(), "headers");
-        assertTrue(mbean.getTicketNo() == 0);
         assertTrue(!mbean.isDurable());
         assertTrue(mbean.isAutoDelete());
     }

Modified: incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java?view=diff&rev=563125&r1=563124&r2=563125
==============================================================================
--- incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java (original)
+++ incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageProducer.java Mon Aug  6 06:06:35 2007
@@ -138,7 +138,7 @@
         _channelId = channelId;
         _session = session;
         _producerId = producerId;
-        if (destination != null)
+        if (destination != null  && !(destination instanceof AMQUndefinedDestination))
         {
             declareDestination(destination);
         }
@@ -150,7 +150,7 @@
 
     void resubscribe() throws AMQException
     {
-        if (_destination != null)
+        if (_destination != null && !(_destination instanceof AMQUndefinedDestination))
         {
             declareDestination(_destination);
         }

Modified: incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/test/java/org/apache/qpid/management/ui/ManagementConsoleTest.java
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/test/java/org/apache/qpid/management/ui/ManagementConsoleTest.java?view=diff&rev=563125&r1=563124&r2=563125
==============================================================================
--- incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/test/java/org/apache/qpid/management/ui/ManagementConsoleTest.java (original)
+++ incubator/qpid/trunk/qpid/java/management/eclipse-plugin/src/test/java/org/apache/qpid/management/ui/ManagementConsoleTest.java Mon Aug  6 06:06:35 2007
@@ -79,7 +79,7 @@
         // If this test fails due to changes in the broker code,
         // then the constants in the Constants.java shoule be updated accordingly 
         DestNameExchange exchange = new DestNameExchange();
-        exchange.initialise(_virtualHost, ExchangeDefaults.DIRECT_EXCHANGE_NAME, false, 0, true);
+        exchange.initialise(_virtualHost, ExchangeDefaults.DIRECT_EXCHANGE_NAME, false, true);
         AMQManagedObject mbean = (AMQManagedObject)exchange.getManagedObject();
         MBeanInfo mbeanInfo = mbean.getMBeanInfo();