Author: ritchiem
Date: Mon Jul  5 11:16:32 2010
New Revision: 960550

URL: http://svn.apache.org/viewvc?rev=960550&view=rev
Log:
QPID-2681 : Update VHC to correctly merge queues-(exchange)-queue

Modified:
    
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/VirtualHostConfiguration.java

Modified: 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/VirtualHostConfiguration.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/VirtualHostConfiguration.java?rev=960550&r1=960549&r2=960550&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/VirtualHostConfiguration.java
 (original)
+++ 
qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/VirtualHostConfiguration.java
 Mon Jul  5 11:16:32 2010
@@ -211,30 +211,30 @@ public class VirtualHostConfiguration ex
         ExchangeConfigurationPlugin exchangeConfiguration
                 = (ExchangeConfigurationPlugin) 
queue.getVirtualHost().getConfiguration().getConfiguration(exchangeClass);
 
-        // now need to perform the queue-topic-topics-queue magic.
+        // now need to perform the queue-topic-topics-queues magic.
         // So make a new ConfigurationObject that will hold all the 
configuration for this queue.
         ConfigurationPlugin queueConfig = new QueueConfiguration.QueueConfig();
 
         // Initialise the queue with any Global values we may have
-        QueueConfiguration config = 
getConfiguration(QueueConfiguration.class.getName());
-        if (config == null)
+        PropertiesConfiguration newQueueConfig = new PropertiesConfiguration();
+        newQueueConfig.setProperty("name", queue.getName());
+
+        try
         {
-            PropertiesConfiguration newQueueConfig = new 
PropertiesConfiguration();
-            newQueueConfig.setProperty("name", queue.getName());
+            //Set the queue name
+            CompositeConfiguration mungedConf = new CompositeConfiguration();
+            //Set the queue name
+            mungedConf.addConfiguration(newQueueConfig);
+            //Set the global queue configuration
+            mungedConf.addConfiguration(getConfig().subset("queues"));
 
-            try
-            {
-                queueConfig.setConfiguration("", newQueueConfig);
-            }
-            catch (ConfigurationException e)
-            {
-                // This will not occur as queues only require a name. 
-                _logger.error("QueueConfiguration requirements have changed.");
-            }
+            // Set configuration
+            queueConfig.setConfiguration("virtualhosts.virtualhost.queues", 
mungedConf);
         }
-        else
+        catch (ConfigurationException e)
         {
-            queueConfig.addConfiguration(config);
+            // This will not occur as queues only require a name.
+            _logger.error("QueueConfiguration requirements have changed.");
         }
 
         // Merge any configuration the Exchange wishes to apply        



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

Reply via email to