summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorMartin Ritchie <ritchiem@apache.org>2010-07-05 11:16:32 +0000
committerMartin Ritchie <ritchiem@apache.org>2010-07-05 11:16:32 +0000
commit98d957117da134952545dba32805653ef9292838 (patch)
treebf47904859feead31075380dcbfe0dd2bcd7f2b4 /java
parentc35da6b6fde5767ea8532a512ac288bf1443bdf8 (diff)
downloadqpid-python-98d957117da134952545dba32805653ef9292838.tar.gz
QPID-2681 : Update VHC to correctly merge queues-(exchange)-queue
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@960550 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java')
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/configuration/VirtualHostConfiguration.java32
1 files changed, 16 insertions, 16 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/configuration/VirtualHostConfiguration.java b/java/broker/src/main/java/org/apache/qpid/server/configuration/VirtualHostConfiguration.java
index 967e8a03f2..d9d7083543 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/configuration/VirtualHostConfiguration.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/configuration/VirtualHostConfiguration.java
@@ -211,30 +211,30 @@ public class VirtualHostConfiguration extends ConfigurationPlugin
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