summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--java/broker/etc/virtualhosts.xml1
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/configuration/VirtualHostConfiguration.java6
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/util/NullApplicationRegistry.java1
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostRegistry.java19
4 files changed, 26 insertions, 1 deletions
diff --git a/java/broker/etc/virtualhosts.xml b/java/broker/etc/virtualhosts.xml
index 2a573535de..a41554f7bc 100644
--- a/java/broker/etc/virtualhosts.xml
+++ b/java/broker/etc/virtualhosts.xml
@@ -20,6 +20,7 @@
-
-->
<virtualhosts>
+ <default>test</default>
<virtualhost>
<name>localhost</name>
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 c191bef447..15f1794908 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
@@ -174,7 +174,11 @@ public class VirtualHostConfiguration
public void performBindings() throws AMQException, ConfigurationException
{
List virtualHostNames = _config.getList(VIRTUALHOST_PROPERTY_BASE + "name");
-
+ String defaultVirtualHostName = _config.getString("default");
+ if(defaultVirtualHostName != null)
+ {
+ ApplicationRegistry.getInstance().getVirtualHostRegistry().setDefaultVirtualHostName(defaultVirtualHostName);
+ }
_logger.info("Configuring " + virtualHostNames == null ? 0 : virtualHostNames.size() + " virtual hosts: " + virtualHostNames);
for(Object nameObject : virtualHostNames)
diff --git a/java/broker/src/main/java/org/apache/qpid/server/util/NullApplicationRegistry.java b/java/broker/src/main/java/org/apache/qpid/server/util/NullApplicationRegistry.java
index e9a3a3d048..6bd060bbfd 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/util/NullApplicationRegistry.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/util/NullApplicationRegistry.java
@@ -65,6 +65,7 @@ public class NullApplicationRegistry extends ApplicationRegistry
_virtualHostRegistry = new VirtualHostRegistry();
VirtualHost dummyHost = new VirtualHost("test",getConfiguration());
_virtualHostRegistry.registerVirtualHost(dummyHost);
+ _virtualHostRegistry.setDefaultVirtualHostName("test");
_authenticationManager = new NullAuthenticationManager();
_configuration.addProperty("heartbeat.delay", 10 * 60); // 10 minutes
diff --git a/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostRegistry.java b/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostRegistry.java
index 25f67c1cf3..7fb9b23d3f 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostRegistry.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostRegistry.java
@@ -31,6 +31,9 @@ public class VirtualHostRegistry
{
private final Map<String, VirtualHost> _registry = new ConcurrentHashMap<String,VirtualHost>();
+
+ private String _defaultVirtualHostName;
+
public synchronized void registerVirtualHost(VirtualHost host) throws Exception
{
if(_registry.containsKey(host.getName()))
@@ -42,9 +45,25 @@ public class VirtualHostRegistry
public VirtualHost getVirtualHost(String name)
{
+ if(name == null || name.trim().length() == 0 )
+ {
+ name = getDefaultVirtualHostName();
+ }
+
return _registry.get(name);
}
+ private String getDefaultVirtualHostName()
+ {
+ return _defaultVirtualHostName;
+ }
+
+ public void setDefaultVirtualHostName(String defaultVirtualHostName)
+ {
+ _defaultVirtualHostName = defaultVirtualHostName;
+ }
+
+
public Collection<VirtualHost> getVirtualHosts()
{
return new ArrayList<VirtualHost>(_registry.values());