The <MB_HOME>/repository/conf/advanced/qpid-virtualhosts.xml
file allows you to configure virtual hosts for WSO2 Message Broker. Following is the tree of the XML elements in this file:
<virtualhosts> <default> <virtualhost> <name> <carbon> <housekeeping> <threadCount> <expiredMessageCheckPeriod> <exchanges> <type> <name> <durable> <exchange> <type> <name> <queues> <maximumQueueDepth> <maximumMessageSize> <maximumMessageAge> <maximumMessageCount>
Click an element below for more information about that element.
<virtualhosts>
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 prate this file with details of a queue or topic you intend to use, you must first create a consumer on a queue/topic before you can publish to it using theWSO2 MB. Thus, most application deployments need a virtualhosts.xml
file with minimal detail.
Configurable Sub Elements
Element Name | Description | Type | Default Value | Fixed Values | Mandatory/ Optional | Notes |
---|---|---|---|---|---|---|
<default> | This parameter sets the default virtual host for connections which do not specify a virtual host | String | carbon | one of defined virtual-hosts | Mandatory |
<virtualhost>
Define a virtual host and all it's configurations under this element. All sub sections are included under this element.
Configurable Sub Elements
Element Name | Description | Type | Default Value | Fixed Values | Mandatory/Optional | Notes |
---|---|---|---|---|---|---|
<name> | This parameter sets an identifiable name for the virtualhost | String | carbon | N/A | Mandatory |
<carbon>
All configuration options for carbon virtual host are defined under this element.
<housekeeping>
Housekeeping task configurations for virtualhosts. This section configures the clean-up threads that work on flushing out obsolete/expired messages from the AMQP exchanges.
Configurable Sub Elements
Element Name | Description | Type | Default Value | Fixed Values | Mandatory/ Optional | Notes |
---|---|---|---|---|---|---|
<threadCount> | The number of clean-up threads. | Integer | 2 | N/A | Mandatory | |
<expiredMessageCheckPeriod> | The time intervals at which the QPID broker checks for expired messages. | Integer | 20000 | N/A | Mandatory | The value is specified in milliseconds. |
<exchanges>
This element is commented out by default and is not mandatory. If required, you can use this to define additional AMQP exchanges for this virtual host. For example, if you want queues to be automatically created in the message broker during server startup, you need to specify the type of AMQP exchange to use and you need to update the <queues>
element in this file with the required queue information. Note that amq.direct
is the default exchange that should be used for queue creation.
<queues>
You can use this <queues>
section and the <exchanges>
element explained above to create new queues during server startup. You can find detailed instructions on the different methods of creating queues in WSO2 MB from here.
The following additional sub elements are available for queues:
Element Name | Description |
---|---|
<maximumQueueDepth> | Defines the maximum number of messages that can be kept in the internal queue buffer for delivery. You can disable the parameter by setting it to 0. |
<maximumMessageSize> | The maximum size, in bytes, of the messages that can be kept in the queue. You can disable the parameter by setting it to 0. |
<maximumMessageAge> | The maximum duration of time a message can be kept in the broker. A message will be dropped when it has been kept for the time duration specified. You can disable the parameter by setting it to 0. |
<maximumMessageCount> | The maximum message count of a queue. You can disable the parameter by setting it to 0. |