summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/configuration/QueueConfiguration.java11
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/configuration/VirtualHostConfiguration.java7
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/configuration/QueueConfigurationTest.java80
3 files changed, 54 insertions, 44 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/configuration/QueueConfiguration.java b/java/broker/src/main/java/org/apache/qpid/server/configuration/QueueConfiguration.java
index 9da36c9b08..8e64aee174 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/configuration/QueueConfiguration.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/configuration/QueueConfiguration.java
@@ -24,6 +24,7 @@ import java.util.List;
import java.util.Map;
import java.util.HashMap;
+import org.apache.commons.configuration.CompositeConfiguration;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.qpid.server.configuration.plugins.ConfigurationPlugin;
@@ -35,13 +36,17 @@ public class QueueConfiguration extends ConfigurationPlugin
private String _name;
private VirtualHostConfiguration _vHostConfig;
- public QueueConfiguration(String name, Configuration config, VirtualHostConfiguration virtualHostConfiguration) throws ConfigurationException
+ public QueueConfiguration(String name, VirtualHostConfiguration virtualHostConfiguration) throws ConfigurationException
{
_vHostConfig = virtualHostConfiguration;
- _config = config;
_name = name;
- setConfiguration("virtualhosts.virtualhost.queues.queue", config);
+ CompositeConfiguration mungedConf = new CompositeConfiguration();
+ mungedConf.addConfiguration(_vHostConfig.getConfig().subset("queues.queue." + name));
+ mungedConf.addConfiguration(_vHostConfig.getConfig().subset("queues"));
+ _config = mungedConf;
+
+ setConfiguration("virtualhosts.virtualhost.queues.queue", mungedConf);
}
public String[] getElementsProcessed()
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 09ae3bd920..d3e5921e79 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
@@ -64,10 +64,7 @@ public class VirtualHostConfiguration extends ConfigurationPlugin
while (i.hasNext())
{
String queueName = (String) i.next();
- CompositeConfiguration mungedConf = new CompositeConfiguration();
- mungedConf.addConfiguration(_config.subset("queues.queue." + queueName));
- mungedConf.addConfiguration(_config.subset("queues"));
- _queues.put(queueName, new QueueConfiguration(queueName, mungedConf, this));
+ _queues.put(queueName, new QueueConfiguration(queueName, this));
}
i = _config.getList("exchanges.exchange.name").iterator();
@@ -149,7 +146,7 @@ public class VirtualHostConfiguration extends ConfigurationPlugin
{
try
{
- return new QueueConfiguration(queueName, new PropertiesConfiguration(), this);
+ return new QueueConfiguration(queueName, this);
}
catch (ConfigurationException e)
{
diff --git a/java/broker/src/test/java/org/apache/qpid/server/configuration/QueueConfigurationTest.java b/java/broker/src/test/java/org/apache/qpid/server/configuration/QueueConfigurationTest.java
index 5091e0285c..d2f2ae5eea 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/configuration/QueueConfigurationTest.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/configuration/QueueConfigurationTest.java
@@ -21,23 +21,22 @@
package org.apache.qpid.server.configuration;
import junit.framework.TestCase;
-
+import org.apache.commons.configuration.CompositeConfiguration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
public class QueueConfigurationTest extends TestCase
{
-
+
private VirtualHostConfiguration _emptyConf;
private PropertiesConfiguration _env;
- private ServerConfiguration _fullServerConf;
private VirtualHostConfiguration _fullHostConf;
public void setUp() throws Exception
{
_env = new PropertiesConfiguration();
_emptyConf = new VirtualHostConfiguration("test", _env);
-
+
PropertiesConfiguration fullEnv = new PropertiesConfiguration();
fullEnv.setProperty("queues.maximumMessageAge", 1);
fullEnv.setProperty("queues.maximumQueueDepth", 1);
@@ -46,92 +45,101 @@ public class QueueConfigurationTest extends TestCase
fullEnv.setProperty("queues.minimumAlertRepeatGap", 1);
_fullHostConf = new VirtualHostConfiguration("test", fullEnv);
-
+
}
public void testGetMaximumMessageAge() throws ConfigurationException
{
// Check default value
- QueueConfiguration qConf = new QueueConfiguration("test", _env, _emptyConf);
+ QueueConfiguration qConf = new QueueConfiguration("test", _emptyConf);
assertEquals(0, qConf.getMaximumMessageAge());
// Check explicit value
- PropertiesConfiguration fullEnv = new PropertiesConfiguration();
- fullEnv.setProperty("maximumMessageAge", 2);
- qConf = new QueueConfiguration("test", fullEnv, _fullHostConf);
+ VirtualHostConfiguration vhostConfig = overrideConfiguration("maximumMessageAge", 2);
+
+ qConf = new QueueConfiguration("test", vhostConfig);
assertEquals(2, qConf.getMaximumMessageAge());
-
+
// Check inherited value
- qConf = new QueueConfiguration("test", _env, _fullHostConf);
+ qConf = new QueueConfiguration("test", _fullHostConf);
assertEquals(1, qConf.getMaximumMessageAge());
}
public void testGetMaximumQueueDepth() throws ConfigurationException
{
// Check default value
- QueueConfiguration qConf = new QueueConfiguration("test", _env, _emptyConf);
+ QueueConfiguration qConf = new QueueConfiguration("test", _emptyConf);
assertEquals(0, qConf.getMaximumQueueDepth());
// Check explicit value
- PropertiesConfiguration fullEnv = new PropertiesConfiguration();
- fullEnv.setProperty("maximumQueueDepth", 2);
- qConf = new QueueConfiguration("test", fullEnv, _fullHostConf);
+ VirtualHostConfiguration vhostConfig = overrideConfiguration("maximumQueueDepth", 2);
+ qConf = new QueueConfiguration("test", vhostConfig);
assertEquals(2, qConf.getMaximumQueueDepth());
-
+
// Check inherited value
- qConf = new QueueConfiguration("test", _env, _fullHostConf);
+ qConf = new QueueConfiguration("test", _fullHostConf);
assertEquals(1, qConf.getMaximumQueueDepth());
}
public void testGetMaximumMessageSize() throws ConfigurationException
{
// Check default value
- QueueConfiguration qConf = new QueueConfiguration("test", _env, _emptyConf);
+ QueueConfiguration qConf = new QueueConfiguration("test", _emptyConf);
assertEquals(0, qConf.getMaximumMessageSize());
// Check explicit value
- PropertiesConfiguration fullEnv = new PropertiesConfiguration();
- fullEnv.setProperty("maximumMessageSize", 2);
- qConf = new QueueConfiguration("test", fullEnv, _fullHostConf);
+ VirtualHostConfiguration vhostConfig = overrideConfiguration("maximumMessageSize", 2);
+ qConf = new QueueConfiguration("test", vhostConfig);
assertEquals(2, qConf.getMaximumMessageSize());
-
+
// Check inherited value
- qConf = new QueueConfiguration("test", _env, _fullHostConf);
+ qConf = new QueueConfiguration("test", _fullHostConf);
assertEquals(1, qConf.getMaximumMessageSize());
}
public void testGetMaximumMessageCount() throws ConfigurationException
{
- // Check default value
- QueueConfiguration qConf = new QueueConfiguration("test", _env, _emptyConf);
+ // Check default value
+ QueueConfiguration qConf = new QueueConfiguration("test", _emptyConf);
assertEquals(0, qConf.getMaximumMessageCount());
// Check explicit value
- PropertiesConfiguration fullEnv = new PropertiesConfiguration();
- fullEnv.setProperty("maximumMessageCount", 2);
- qConf = new QueueConfiguration("test", fullEnv, _fullHostConf);
+ VirtualHostConfiguration vhostConfig = overrideConfiguration("maximumMessageCount", 2);
+ qConf = new QueueConfiguration("test", vhostConfig);
assertEquals(2, qConf.getMaximumMessageCount());
-
+
// Check inherited value
- qConf = new QueueConfiguration("test", _env, _fullHostConf);
+ qConf = new QueueConfiguration("test", _fullHostConf);
assertEquals(1, qConf.getMaximumMessageCount());
}
public void testGetMinimumAlertRepeatGap() throws ConfigurationException
{
// Check default value
- QueueConfiguration qConf = new QueueConfiguration("test", _env, _emptyConf);
+ QueueConfiguration qConf = new QueueConfiguration("test", _emptyConf);
assertEquals(0, qConf.getMinimumAlertRepeatGap());
// Check explicit value
- PropertiesConfiguration fullEnv = new PropertiesConfiguration();
- fullEnv.setProperty("minimumAlertRepeatGap", 2);
- qConf = new QueueConfiguration("test", fullEnv, _fullHostConf);
+ VirtualHostConfiguration vhostConfig = overrideConfiguration("minimumAlertRepeatGap", 2);
+ qConf = new QueueConfiguration("test", vhostConfig);
assertEquals(2, qConf.getMinimumAlertRepeatGap());
-
+
// Check inherited value
- qConf = new QueueConfiguration("test", _env, _fullHostConf);
+ qConf = new QueueConfiguration("test", _fullHostConf);
assertEquals(1, qConf.getMinimumAlertRepeatGap());
}
+ private VirtualHostConfiguration overrideConfiguration(String property, int value)
+ throws ConfigurationException
+ {
+ PropertiesConfiguration queueConfig = new PropertiesConfiguration();
+ queueConfig.setProperty("queues.queue.test." + property, value);
+
+ CompositeConfiguration config = new CompositeConfiguration();
+ config.addConfiguration(_fullHostConf.getConfig());
+ config.addConfiguration(queueConfig);
+
+ return new VirtualHostConfiguration("test", config);
+ }
+
}