Este conteúdo não está disponível no idioma selecionado.

20.5. Connection URLs


In JNDI properties, a Connection URL specifies properties for a connection. The format for a Connection URL is:
amqp://[<user>:<pass>@][<clientid>]<virtualhost>[?<option>='<value>'[&<option>='<value>']]
Copy to Clipboard Toggle word wrap
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, and a TCP host with the host name localhost using port 5672:
amqp://username:password@clientid/test?brokerlist='tcp://localhost:5672'
Copy to Clipboard Toggle word wrap
Apache Qpid supports the following properties in Connection URLs:
Expand
Table 20.1. Connection URL Properties
Option Type Description
brokerlist
The broker to use for this connection. In the current release, precisely one broker must be specified.
max_prefetch
Integer
The maximum number of pre-fetched messages per destination.
sync_publish
{'persistent' | 'transient' | 'all' | ''}
A sync command is sent after every persistent or transient message to guarantee that it has been received.
persistent sets this behavior for persistent messages.
transient sets this behavior for transient messages only.
all syncs both type of messages, however the default behavior '' also has the same effect.
sync_ack
Boolean
A sync command is sent after every acknowledgment to guarantee that it has been received.
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.7 release, you must set this to true to ensure the older clients can understand the map message encoding.
failover
{'roundrobin' | 'failover_exchange' | 'singlebroker' | 'nofailover' | '<class>'}
  • roundrobin will try each broker given in the broker list.
  • failover_exchange connects to the initial broker given in the broker URL and will receive membership updates via the failover exchange.
  • singlebroker connects to the initial broker only and does not support failover.
  • nofailover disables all retry and failover logic.
  • Any other value is interpreted as a classname which must implement the org.apache.qpid.jms.failover.FailoverMethod interface.
ssl
Boolean
If ssl='true', use SSL for all broker connections. Overrides any per-broker settings in the brokerlist entries. If not specified, the brokerlist entry for each given broker is used to determine whether SSL is used.

Broker list URL

Broker lists are specified using a URL in this format:
brokerlist=<transport>://<host>[:<port>](?<param>=<value>)?(&<param>=<value>)*
Copy to Clipboard Toggle word wrap
For instance, this is a typical broker list URL:
brokerlist='tcp://localhost:5672'
Copy to Clipboard Toggle word wrap
A broker list can contain more than one broker address; if so, the connection is made to the first broker in the list that is available. In general, it is better to use the failover exchange when using multiple brokers, since it allows applications to fail over if a broker goes down.

Example 20.1. Broker Lists

A broker list can specify properties to be used when connecting to the broker, such as security options. This broker list specifies options for a Kerberos connection using GSSAPI:
amqp://guest:guest@test/test?sync_ack='true'
	  &brokerlist='tcp://ip1:5672?sasl_mechs='GSSAPI''
Copy to Clipboard Toggle word wrap
This broker list specifies SSL options:
amqp://guest:guest@test/test?sync_ack='true'
	  &brokerlist='tcp://ip1:5672?ssl='true'&ssl_cert_alias='cert1''
Copy to Clipboard Toggle word wrap
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''
Copy to Clipboard Toggle word wrap
The following broker list URL options are supported:
Expand
Table 20.2. Broker List URL Options
Option Type Description
idle_timeout
Integer
Frequency of idle_timeout messages (in seconds)
sasl_mechs
--
For secure applications, we suggest CRAM-MD5, DIGEST-MD5, or GSSAPI. The ANONYMOUS method is not secure. The PLAIN method is secure only when used together with SSL. For Kerberos, sasl_mechs must be set to GSSAPI, sasl_protocol must be set to the principal for the qpidd broker, e.g. qpidd/, and sasl_server must be set to the host for the SASL server, e.g. sasl.com. SASL External is supported using SSL certification, e.g. ssl='true'&sasl_mechs='EXTERNAL'
sasl_encryption
Boolean
If sasl_encryption='true', the JMS client attempts to negotiate a security layer with the broker using GSSAPI to encrypt the connection. Note that for this to happen, GSSAPI must be selected as the sasl_mech.
ssl
Boolean
If ssl='true', the JMS client will encrypt the connection using SSL.
tcp_nodelay
Boolean
If tcp_nodelay='true', TCP packet batching is disabled.
sasl_protocol
--
Used only for Kerberos. sasl_protocol must be set to the principal for the qpidd broker, e.g. qpidd/
sasl_server
--
For Kerberos, sasl_mechs must be set to GSSAPI, sasl_server must be set to the host for the SASL server, e.g. sasl.com.
trust_store
String
Path to Kerberos trust store
trust_store_password
String
Kerberos trust store password
key_store
String
Path to Kerberos key store
key_store_password
String
Kerberos key store password
ssl_verify_hostname
Boolean
When using SSL you can enable hostname verification by using "ssl_verify_hostname=true" in the broker URL.
ssl_cert_alias
String
If multiple certificates are present in the keystore, the alias will be used to extract the correct certificate.
retries integer
The number of times to retry connection to each broker in the broker list. Defaults to 1.
connectdelay integer
Length of time (in milliseconds) to wait before attempting to reconnect. Defaults to 0.
connecttimeout integer
Length of time (in milliseconds) to wait for the socket connection to succeed. A value of 0 represents an infinite timeout, i.e. the connection attempt will block until established or an error occurs. Defaults to 30000.
tcp_nodelay Boolean If tcp_nodelay='true', TCP packet batching is disabled. Defaults to true since Qpid 0.14.
Voltar ao topo
Red Hat logoGithubredditYoutubeTwitter

Aprender

Experimente, compre e venda

Comunidades

Sobre a documentação da Red Hat

Ajudamos os usuários da Red Hat a inovar e atingir seus objetivos com nossos produtos e serviços com conteúdo em que podem confiar. Explore nossas atualizações recentes.

Tornando o open source mais inclusivo

A Red Hat está comprometida em substituir a linguagem problemática em nosso código, documentação e propriedades da web. Para mais detalhes veja o Blog da Red Hat.

Sobre a Red Hat

Fornecemos soluções robustas que facilitam o trabalho das empresas em plataformas e ambientes, desde o data center principal até a borda da rede.

Theme

© 2025 Red Hat