In JNDI properties, a Connection URL specifies options for a connection. The format for a Connection URL is:
amqp://[<user>:<pass>@][<clientid>]/[<virtualhost>][?<option>='<value>'[&<option>='<value>']*]
For instance, the following Connection URL specifies a user name, a password, a client ID, a virtual host ("test"), a broker list with a single broker: a TCP host with the host name “localhost” using port 5672:
amqp://username:password@clientid/test?brokerlist='tcp://localhost:5672'
Take care with the quoting surrounding option values. Each option value must be surrounded with single quotes (').
The Connection URL supports the following options:
Table 7.1. Connection URL Options
Option | Type | Description |
---|---|---|
brokerlist | see below | List of one or more broker addresses. |
maxprefetch | integer |
The maximum number of pre-fetched messages per Session. If not specified, default value of 500 is used. Note: You can also set the default per-session prefetch value on a client-wide basis by configuring the client using Java system properties. |
sync_publish | String |
If the value is 'all' the client library waits for confirmation before returning from a send(), and if the send is unsuccessful the send() will throw a JMSException. (Note this option requires an extension to the AMQP protocol and will only work against a broker of the 0.32 release or later.) |
sync_client_ack | Boolean |
If set If
Defaults to Note: You can also set the default on a client-wide basis by configuring the client using Java system properties. |
use_legacy_map_msg_format | Boolean | If you are using JMS Map messages and deploying a new client with any JMS client older than 0.8 release, you must set this to true to ensure the older clients can understand the map message encoding. |
failover | {'singlebroker' | 'roundrobin' , | 'nofailover' | '<class>'} |
This option controls failover behaviour. The method
The broker list options Defaults to |
closeWhenNoRoute | boolean | |
ssl | boolean |
If Introduced in version 0.22. |
compressMessages | Boolean | Controls whether the client will compress messages before they they are sent. |
messageCompressionThresholdSize | Integer | The payload size beyond which the client will start to compress message payloads. |
populateJMSXUserID | boolean | Controls whether a MessageProducer will populate the JMSXUserID value for each sent message using the authenticated username from the connection. It is set to true by default. |
Broker lists are specified using a URL in this format:
brokerlist='<transport>://<host>[:<port>][?<param>='<value>'[&<param>='<value>']*]'
For instance, this is a typical broker list:
brokerlist='tcp://localhost:5672'
A broker list can contain more than one broker address separated by semicolons (;). If so, the connection is made to the first broker in the list that is available.
Example 7.1. Broker Lists
A broker list can specify properties to be used when connecting to the broker. This broker list specifies options for configuring heartbeating
amqp://guest:guest@test/test?brokerlist='tcp://ip1:5672?heartbeat='5''
This broker list specifies some SSL options
amqp://guest:guest@test/test?brokerlist='tcp://ip1:5672?ssl='true'&ssl_cert_alias='cert1''
This broker list specifies two brokers using the connectdelay and retries broker options. It also illustrates the failover connection URL property.
amqp://guest:guest@/test?failover='roundrobin?cyclecount='2'' &brokerlist='tcp://ip1:5672?retries='5'&connectdelay='2000';tcp://ip2:5672?retries='5'&connectdelay='2000''
Take care with the quoting surrounding broker option values. Each broker option value must be surrounded with their own single quotes ('). This is in addition to the quotes surround the connection option value.
The following broker list options are supported.
Table 7.2. Broker List Options
Apache Qpid, Messaging built on AMQP; Copyright © 2015 The Apache Software Foundation; Licensed under the Apache License, Version 2.0; Apache Qpid, Qpid, Qpid Proton, Proton, Apache, the Apache feather logo, and the Apache Qpid project logo are trademarks of The Apache Software Foundation; All other marks mentioned may be trademarks or registered trademarks of their respective owners