Configure the Virtual Hosts via virtualhosts.xml
virtualhosts.xml Overview
This configuration file contains details of all queues and
topics, and associated properties, to be created on broker
startup. These details are configured on a per virtual host
basis.
Note that if you do not add details of a queue or topic you
intend to use to this file, you must first create a consumer on a
queue/topic before you can publish to it using Qpid.
Thus most application deployments need a virtualhosts.xml file
with at least some minimal detail.
XML Format with Comments
The virtualhosts.xml which currently ships as part of the Qpid
distribution is really targeted at development use, and supports
various artifacts commonly used by the Qpid development team.
As a result, it is reasonably complex. In the example XML below,
I have tried to simplify one example virtual host setup which is
possibly more useful for new users of Qpid or development teams
looking to simply make use of the Qpid broker in their
deployment.
I have also added some inline comments on each section, which
should give some extra information on the purpose of the various
elements.
<virtualhosts>
<!-- Sets the default virtual host for connections which do not specify a vh -->
<default>localhost</default>
<!-- Define a virtual host and all it's config -->
<virtualhost>
<name>localhost</name>
<localhost>
<!-- Define the types of additional AMQP exchange available for this vh -->
<!-- Always get amq.direct (for queues) and amq.topic (for topics) by default -->
<exchanges>
<!-- Example of declaring an additional exchanges type for developer use only -->
<exchange>
<type>direct</type>
<name>test.direct</name>
<durable>true</durable>
</exchange>
</exchanges>
<!-- Define the set of queues to be created at broker startup -->
<queues>
<!-- The properties configured here will be applied as defaults to all -->
<!-- queues subsequently defined unless explicitly overridden -->
<exchange>amq.direct</exchange>
<!-- Set threshold values for queue monitor alerting to log -->
<maximumQueueDepth>4235264</maximumQueueDepth> <!-- 4Mb -->
<maximumMessageSize>2117632</maximumMessageSize> <!-- 2Mb -->
<maximumMessageAge>600000</maximumMessageAge> <!-- 10 mins -->
<!-- Define a queue with all default settings -->
<queue>
<name>ping</name>
</queue>
<!-- Example definitions of queues with overriden settings -->
<queue>
<name>test-queue</name>
<test-queue>
<exchange>test.direct</exchange>
<durable>true</durable>
</test-queue>
</queue>
<queue>
<name>test-ping</name>
<test-ping>
<exchange>test.direct</exchange>
</test-ping>
</queue>
</queues>
</localhost>
</virtualhost>
</virtualhosts>
Using your own virtualhosts.xml
Note that the config.xml file shipped as an example (or developer
default) in the Qpid distribution contains an element which
defines the path to the virtualhosts.xml.
When using your own virtualhosts.xml you must edit this path to
point at the location of your file.