Differences between revisions 1 and 2
Revision 1 as of 2006-09-25 08:45:25
Size: 1725
Comment:
Revision 2 as of 2006-09-25 08:48:33
Size: 0
Comment: Refactored to BindingURLFormat and ConnectionURLFormat
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
=== Binding URL ===
{{{
<Exchange Class>://<Exchange Name>/[<Queue>][?<option>='<value>'[&<option>='<value>']]
}}}

This URL format is used for two purposes in the code base. The server uses this in the XML configuration file to create and bind queues at broker startup. It is also used by the client as a destination.

This format was used because it allows an explicit description of exchange and queue relationship.

The Exchange Class is not required for client connection as clients only publish to a named exchange as a result this value could be made optional. However, it is required for the server to instantiate an exchange.

There are a number of options that are currently defined:
|| '''Option''' || '''type''' || '''Description''' ||
|| exclusive || boolean || Is this an exclusive connection ||
|| autodelete || boolean || Should this queue be deleted on client disconnection ||
|| durable || boolean || Create a durable queue ||
|| clientid || string || Use the following client id ||
|| subscription || boolean || Create a subscription to this destination ||
|| routingkey || string || Use this value as the routing key ||

Using these options in conjunction with the Binding URL format should allow future expansion as new and custom exchange types are created.

The 'Destination' value is used in the Topic exchange as the topic name to subscribe to. The URL format requires '''that at least one''' Queue or routingkey option be present on the URL.

==== Examples ====
{{{
direct://amq.direct/SimpleQueue
direct://amq.direct/UnsuallyBoundQueue?routingkey='queue'
topic://amq.topic/?routingkey='stocks.#'
topic://amq.topic/?routingkey='stocks.nyse.ibm'
}}}