Author: buildbot
Date: Wed Oct 1 09:21:25 2014
New Revision: 924280
Log:
Production update by buildbot for activemq
Modified:
websites/production/activemq/content/activemq-4-connection-uris.html
websites/production/activemq/content/cache/main.pageCache
websites/production/activemq/content/configuring-transports.html
websites/production/activemq/content/configuring-version-5-transports.html
Modified: websites/production/activemq/content/activemq-4-connection-uris.html
==============================================================================
--- websites/production/activemq/content/activemq-4-connection-uris.html
(original)
+++ websites/production/activemq/content/activemq-4-connection-uris.html Wed
Oct 1 09:21:25 2014
@@ -82,49 +82,15 @@
<tbody>
<tr>
<td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2
id="ActiveMQ4ConnectionURIs-Transportconfigurationoptions">Transport
configuration options</h2>
-
-<p>One of the first kinds of URI you are likely to use is a transport URI to
connect to a broker using a kind of transport. Generally TCP or VM are the
first transports you'll use.</p>
-
- <div class="aui-message problem shadowed information-macro">
+<div class="wiki-content maincontent"><h2
id="ActiveMQ4ConnectionURIs-Transportconfigurationoptions">Transport
configuration options</h2><p>One of the first kinds of URI you are likely to
use is a transport URI to connect to a broker using a kind of transport.
Generally TCP or VM are the first transports you'll use.</p> <div
class="aui-message problem shadowed information-macro">
<p class="title">Be careful about whitespace</p>
<span class="aui-icon icon-problem">Icon</span>
<div class="message-content">
-
-<p>All of the following URI configurations are based on the java.net.URI class
which does not allow whitespace to be used. So if you are using
<strong>failover:</strong> or <strong>static:</strong> URIs, do not put any
whitespace around the <strong>,</strong> symbol.</p>
+ <p>All of the following URI configurations are
based on the java.net.URI class which does not allow whitespace to be used. So
if you are using <strong>failover:</strong> or <strong>static:</strong> URIs,
do not put any whitespace around the <strong>,</strong> symbol.</p>
</div>
</div>
-
-
-<h3 id="ActiveMQ4ConnectionURIs-TheVMTransport">The VM Transport</h3>
-
-<p>The VM transport allows clients to connect to each other inside the VM
without the overhead of the network communication. The connection used is not
that of a socket connection but instead uses direct method invocations to
enable a high performance embedded messaging system.</p>
-
-<p>The first client to use the VM connection will boot an embedded broker.
Subsequent connections will attach that the same broker. Once all VM
connections to the broker have been closed, the embedded broker will
automatically shutdown.</p>
-
-<p>For more information see the <a shape="rect"
href="vm-transport-reference.html">VM Transport Reference</a></p>
-
-<h3 id="ActiveMQ4ConnectionURIs-TheAMQPTransport">The AMQP Transport</h3>
-<p>As of 5.8.0 ActiveMQ has support for AMQP. For details see the <a
shape="rect" href="amqp.html">AMQP</a> Transport Reference.</p>
-
-<h3 id="ActiveMQ4ConnectionURIs-TheMQTTTransport">The MQTT Transport</h3>
-<p>Starting with 5.6.0 ActiveMQ also supports <a shape="rect"
class="external-link" href="http://mqtt.org/" rel="nofollow">MQTT</a>. Its a
light weight publish/subscribe messaging transport. See the <a shape="rect"
href="mqtt.html">MQTT</a> Transport Reference for details.</p>
-
-<h3 id="ActiveMQ4ConnectionURIs-TheTCPTransport">The TCP Transport</h3>
-
-<p>The TCP transport allows clients to connect a remote ActiveMQ using a a TCP
socket.</p>
-
-<p>For more information see the <a shape="rect"
href="tcp-transport-reference.html">TCP Transport Reference</a></p>
-
-<h3 id="ActiveMQ4ConnectionURIs-TheNIOTransport">The NIO Transport</h3>
-
-<p>Same as the TCP transport, except that the <a shape="rect"
class="external-link" href="http://en.wikipedia.org/wiki/New_I/O"
rel="nofollow">New I/O (NIO)</a> package is used, which may provide better
performance. The Java NIO package should not be confused with IBM's <a
shape="rect" class="external-link"
href="http://java.sys-con.com/read/46658.htm" rel="nofollow">AIO4J </a>
package. </p>
-
-<p>To switch from TCP to NIO, simply change the scheme portion of the URI.
Here's an example as defined within a broker's XML configuration file. </p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[
-<broker>
+<h3 id="ActiveMQ4ConnectionURIs-TheVMTransport">The VM Transport</h3><p>The VM
transport allows clients to connect to each other inside the VM without the
overhead of the network communication. The connection used is not that of a
socket connection but instead uses direct method invocations to enable a high
performance embedded messaging system.</p><p>The first client to use the VM
connection will boot an embedded broker. Subsequent connections will attach
that the same broker. Once all VM connections to the broker have been closed,
the embedded broker will automatically shutdown.</p><p>For more information see
the <a shape="rect" href="vm-transport-reference.html">VM Transport
Reference</a></p><h3 id="ActiveMQ4ConnectionURIs-TheAMQPTransport">The AMQP
Transport</h3><p>As of 5.8.0 ActiveMQ has support for AMQP. For details see the
<a shape="rect" href="amqp.html">AMQP</a> Transport Reference.</p><h3
id="ActiveMQ4ConnectionURIs-TheMQTTTransport">The MQTT
Transport</h3><p>Starting wit
h 5.6.0 ActiveMQ also supports <a shape="rect" class="external-link"
href="http://mqtt.org/" rel="nofollow">MQTT</a>. Its a light weight
publish/subscribe messaging transport. See the <a shape="rect"
href="mqtt.html">MQTT</a> Transport Reference for details.</p><h3
id="ActiveMQ4ConnectionURIs-TheTCPTransport">The TCP Transport</h3><p>The TCP
transport allows clients to connect a remote ActiveMQ using a a TCP
socket.</p><p>For more information see the <a shape="rect"
href="tcp-transport-reference.html">TCP Transport Reference</a></p><h3
id="ActiveMQ4ConnectionURIs-TheNIOTransport">The NIO Transport</h3><p>Same as
the TCP transport, except that the <a shape="rect" class="external-link"
href="http://en.wikipedia.org/wiki/New_I/O" rel="nofollow">New I/O (NIO)</a>
package is used, which may provide better performance. The Java NIO package
should not be confused with IBM's <a shape="rect" class="external-link"
href="http://java.sys-con.com/read/46658.htm" rel="nofollow">AIO4J </a> package
.</p><p>To switch from TCP to NIO, simply change the scheme portion of the
URI. Here's an example as defined within a broker's XML configuration
file.</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[<broker>
...
<transportConnectors>
<transportConnector name="nio"
uri="nio://0.0.0.0:61616"/>
@@ -132,33 +98,15 @@
...
</broker>
]]></script>
-</div></div>
-
-<p>Trying to use nio transport url on the client side will instantiate the
regular TCP transport.</p>
-
-<h3 id="ActiveMQ4ConnectionURIs-TheSSLTransport">The SSL Transport</h3>
-
-<p>This allows you to talk over TCP using SSL. </p>
-
-<p>For more information see the <a shape="rect"
href="ssl-transport-reference.html">SSL Transport Reference</a></p>
-
-<h3 id="ActiveMQ4ConnectionURIs-TheNIOSSLTransport">The NIO SSL Transport</h3>
-
- <div class="aui-message hint shadowed information-macro">
+</div></div><p>Trying to use nio transport url on the client side will
instantiate the regular TCP transport.</p><h3
id="ActiveMQ4ConnectionURIs-TheSSLTransport">The SSL Transport</h3><p>This
allows you to talk over TCP using SSL.</p><p>For more information see the <a
shape="rect" href="ssl-transport-reference.html">SSL Transport
Reference</a></p><h3 id="ActiveMQ4ConnectionURIs-TheNIOSSLTransport">The NIO
SSL Transport</h3> <div class="aui-message hint shadowed information-macro">
<p class="title">Availability</p>
<span class="aui-icon icon-hint">Icon</span>
<div class="message-content">
-
-<p>Available since 5.6</p>
+ <p>Available since 5.6</p>
</div>
</div>
-
-
-<p>Implementing SSL transport over NIO. This allows you to connect large
number of SSL clients to a single broker instance. It's server side
transport-option only</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[
-<broker>
+<p>Implementing SSL transport over NIO. This allows you to connect large
number of SSL clients to a single broker instance. It's server side
transport-option only</p><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[<broker>
...
<transportConnectors>
<transportConnector name="nio+ssl"
uri="nio+ssl://0.0.0.0:61616"/>
@@ -166,108 +114,8 @@
...
</broker>
]]></script>
-</div></div>
-
-<p>Trying to use <code>nio+ssl</code> transport url on the client side will
instantiate the regular SSL transport.</p>
-
-<h3 id="ActiveMQ4ConnectionURIs-ThePeerTransport">The Peer Transport</h3>
-
-<p>The Peer transport provides a peer-to-peer network with ActiveMQ. What
actually happens is the peer transport uses the VM transport to create and
connect to a local embedded broker but which configures the embedded broker to
establish network connections to other peer embedded brokers.</p>
-
-<p>For more information see the <a shape="rect"
href="peer-transport-reference.html">Peer Transport Reference</a></p>
-
-<h3 id="ActiveMQ4ConnectionURIs-TheUDPTransport">The UDP Transport</h3>
-
-<p>This allows you to talk over UDP. </p>
-
-<p>For more information see the <a shape="rect"
href="udp-transport-reference.html">UDP Transport Reference</a></p>
-
-<h3 id="ActiveMQ4ConnectionURIs-TheMulticastTransport">The Multicast
Transport</h3>
-
-<p>This allows you to talk over Multicast. </p>
-
-<p>For more information see the <a shape="rect"
href="multicast-transport-reference.html">Multicast Transport Reference</a></p>
-
-<h3 id="ActiveMQ4ConnectionURIs-TheHTTPandHTTPSTransport">The HTTP and HTTPS
Transport</h3>
-
-<p>This allows the ActiveMQ client and broker to tunnel over HTTP. If the
client is not JMS you might want to look at <a shape="rect"
href="rest.html">REST</a> or <a shape="rect" href="ajax.html">Ajax</a> support
instead.</p>
-
-<p>For more information see the <a shape="rect"
href="http-and-https-transports-reference.html">HTTP and HTTPs Transports
Reference</a></p>
-
-<h3 id="ActiveMQ4ConnectionURIs-TheWebSocketsTransport">The WebSockets
Transport</h3>
-<p>This transport uses the new HTML5 WebSockets to exchange messages with the
broker. For more information see the <a shape="rect"
href="websockets.html">WebSockets</a> Transport Reference</p>
-
-<h2 id="ActiveMQ4ConnectionURIs-GeneralPurposeURIs">General Purpose URIs</h2>
-
-<p>You can configure other features via the URI syntax as follows...</p>
-
-<h3 id="ActiveMQ4ConnectionURIs-ConnectionConfigurationURI">Connection
Configuration URI</h3>
-
-<p>Any Apache ActiveMQ JMS connection can be configured using the URL or
explicitly setting properties on the <a shape="rect" class="external-link"
href="http://incubator.apache.org/activemq/maven/activemq-core/apidocs/org/apache/activemq/ActiveMQConnection.html">ActiveMQConnection</a>
or <a shape="rect" class="external-link"
href="http://incubator.apache.org/activemq/maven/activemq-core/apidocs/org/apache/activemq/ActiveMQConnectionFactory.html">ActiveMQConnectionFactory</a>
objects themselves.</p>
-
-<p>For more information see <a shape="rect"
href="connection-configuration-uri.html">Connection Configuration URI</a></p>
-
-<h3 id="ActiveMQ4ConnectionURIs-DestinationOptions">Destination Options</h3>
-
-<p>You can configure various consumer related options using <a shape="rect"
href="destination-options.html">Destination Options</a> which allow you to
configure destinations using URI syntax.</p>
-
-<h3 id="ActiveMQ4ConnectionURIs-BrokerConfigurationURI">Broker Configuration
URI</h3>
-
-<p>You can use a <a shape="rect" href="broker-configuration-uri.html">Broker
Configuration URI</a> to configure an embedded broker, either using the
BrokerFactory helper class from Java or using the activemq shell script. For
more details see <a shape="rect" href="run-broker.html">How to Run a
Broker</a></p>
-
-<h3 id="ActiveMQ4ConnectionURIs-ConfiguringWireFormats">Configuring Wire
Formats</h3>
-
-<p>Any transport which involves marshalling messages onto some kind of network
transport like TCP or UDP will typically use the <a shape="rect"
href="openwire.html">OpenWire</a> format. This is configurable to customize how
things appear on the wire.</p>
-
-<p>For more information see <a shape="rect"
href="configuring-wire-formats.html">Configuring Wire Formats</a></p>
-
-<h2 id="ActiveMQ4ConnectionURIs-HighLevelProtocolURIs">High Level Protocol
URIs</h2>
-
-<p>The following higher level protocols can be configured via URI</p>
-
-<h3 id="ActiveMQ4ConnectionURIs-TheFailoverTransport">The Failover
Transport</h3>
-
-<p>The Failover transport layers reconnect logic on top of any of the other
transports. This is what used to be the Reliable transport in ActiveMQ 3. Its
configuration syntax allows you to specify any number of composite URIs. The
Failover transport randomly chooses one of the composite URIs and attempts to
establish a connection to it. If it does not succeed or if it subsequently
fails, a new connection is established to one of the other URIs in the list.</p>
-
-<p>For more information see the <a shape="rect"
href="failover-transport-reference.html">Failover Transport Reference</a></p>
-
-<h3 id="ActiveMQ4ConnectionURIs-TheFanoutTransport">The Fanout Transport</h3>
-
-<p>The Fanout transport layers reconnect and replicate logic on top of any of
the other transports. It is used replicate commands to multiple brokers.</p>
-
-<p>For more information see the <a shape="rect"
href="fanout-transport-reference.html">Fanout Transport Reference</a></p>
-
-<h2 id="ActiveMQ4ConnectionURIs-UsingDiscovery">Using Discovery</h2>
-
-<p>Often when using transports like TCP you want to use <a shape="rect"
href="discovery.html">Discovery</a> to locate the available brokers. This is
different from using, say, <a shape="rect"
href="multicast-transport-reference.html">Multicast</a> - as the actual main
communication is over TCP but multicast is purely used to discover the location
of brokers.</p>
-
-<h3 id="ActiveMQ4ConnectionURIs-TheDiscoveryTransport">The Discovery
Transport</h3>
-
-<p>The Discovery transport works just like the reliable transport, except that
it uses a discovery agent to locate the list of URIs to connect to.</p>
-
-<p>For more information see the <a shape="rect"
href="discovery-transport-reference.html">Discovery Transport Reference</a></p>
-
-<h3 id="ActiveMQ4ConnectionURIs-TheZeroConfTransport">The ZeroConf
Transport</h3>
-
-<p>The ZeroConf transport provides <a shape="rect"
href="discovery.html">Discovery</a> and it works like the <a shape="rect"
href="discovery-transport-reference.html">Discovery Transport</a> but rather
than using our own multicast based discovery mechanism (which allows you to
configure the exact multicast address and port, etc.), the <a shape="rect"
href="zeroconf.html">ZeroConf</a> transport is used instead.</p>
-
-<p>For more information see the <a shape="rect"
href="zeroconf-transport-reference.html">ZeroConf Transport Reference</a></p>
-
-
-<h3 id="ActiveMQ4ConnectionURIs-Serversideoptions">Server side options</h3>
-
-<p>There are a number of options that can be used for changing behaviour on
the server for the TransportConnector in the ActiveMQ broker configuration.
These are:</p>
-
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th
colspan="1" rowspan="1" class="confluenceTh"><p>property name</p></th><th
colspan="1" rowspan="1" class="confluenceTh"><p>default</p></th><th colspan="1"
rowspan="1" class="confluenceTh"><p>description</p></th></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>uri</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>null</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>the bind address for the transport</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>name</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>null</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>the name of the TransportConnector
instance</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>discoveryURI</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>null</p></td><th colspan="1" rowspan="1"
class="confluenceTh"><p>if set, the multicast discovery address fo
r client connections to find the broker</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p>enableStatusMonitor</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>will monitor connections to determine if they are
blocked</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>updateClusterClients</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>if enabled, will update client connections (if they use
the failover:// transport) of changes to the broker
cluster</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>rebalanceClusterClients</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>will automatically rebalance clients across the cluster
on changes of topology</p></td></tr><tr><td colspan="1" rowspan="1" class="co
nfluenceTd"><p>updateClusterClientsOnRemove</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>will update clients if a broker is removed from the
cluster</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>updateClusterFilter</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>null</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>comma separated list of regular expressions. Brokers
with the a name matching the pattern will be included for client
updates</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><span style="color: red;">
allowLinkStealing</span></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>this is enabled for default for mqtt transport. Link
Stealing is where the last of two or more connections with the same id
(clinetId for JMS) is deemed the valid connection and th
e older one is closed by the broker.</p></td></tr></tbody></table></div>
-
-
-<p><sub>Note: properties in <span style="color: red;">red</span> are version
5.10 (and higher) options only.</sub></p>
-
-<p>An example configuration would be:</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[
-<broker>
+</div></div><p>Trying to use <code>nio+ssl</code> transport url on the client
side will instantiate the regular SSL transport.</p><h3
id="ActiveMQ4ConnectionURIs-ThePeerTransport">The Peer Transport</h3><p>The
Peer transport provides a peer-to-peer network with ActiveMQ. What actually
happens is the peer transport uses the VM transport to create and connect to a
local embedded broker but which configures the embedded broker to establish
network connections to other peer embedded brokers.</p><p>For more information
see the <a shape="rect" href="peer-transport-reference.html">Peer Transport
Reference</a></p><h3 id="ActiveMQ4ConnectionURIs-TheUDPTransport">The UDP
Transport</h3><p>This allows you to talk over UDP.</p><p>For more information
see the <a shape="rect" href="udp-transport-reference.html">UDP Transport
Reference</a></p><h3 id="ActiveMQ4ConnectionURIs-TheMulticastTransport">The
Multicast Transport</h3><p>This allows you to talk over Multicast.</p><p>For
more information see t
he <a shape="rect" href="multicast-transport-reference.html">Multicast
Transport Reference</a></p><h3
id="ActiveMQ4ConnectionURIs-TheHTTPandHTTPSTransport">The HTTP and HTTPS
Transport</h3><p>This allows the ActiveMQ client and broker to tunnel over
HTTP. If the client is not JMS you might want to look at <a shape="rect"
href="rest.html">REST</a> or <a shape="rect" href="ajax.html">Ajax</a> support
instead.</p><p>For more information see the <a shape="rect"
href="http-and-https-transports-reference.html">HTTP and HTTPs Transports
Reference</a></p><h3 id="ActiveMQ4ConnectionURIs-TheWebSocketsTransport">The
WebSockets Transport</h3><p>This transport uses the new HTML5 WebSockets to
exchange messages with the broker. For more information see the <a shape="rect"
href="websockets.html">WebSockets</a> Transport Reference</p><h3
id="ActiveMQ4ConnectionURIs-TheStompTransport">The Stomp Transport</h3><p>A
plain text transport that can be used with many languages. See <a
shape="rect" hre
f="stomp.html">Stomp</a> for more details.</p><h2
id="ActiveMQ4ConnectionURIs-GeneralPurposeURIs">General Purpose URIs</h2><p>You
can configure other features via the URI syntax as follows...</p><h3
id="ActiveMQ4ConnectionURIs-ConnectionConfigurationURI">Connection
Configuration URI</h3><p>Any Apache ActiveMQ JMS connection can be configured
using the URL or explicitly setting properties on the <a shape="rect"
class="external-link"
href="http://incubator.apache.org/activemq/maven/activemq-core/apidocs/org/apache/activemq/ActiveMQConnection.html">ActiveMQConnection</a>
or <a shape="rect" class="external-link"
href="http://incubator.apache.org/activemq/maven/activemq-core/apidocs/org/apache/activemq/ActiveMQConnectionFactory.html">ActiveMQConnectionFactory</a>
objects themselves.</p><p>For more information see <a shape="rect"
href="connection-configuration-uri.html">Connection Configuration
URI</a></p><h3 id="ActiveMQ4ConnectionURIs-DestinationOptions">Destination
Options</h3><p>You c
an configure various consumer related options using <a shape="rect"
href="destination-options.html">Destination Options</a> which allow you to
configure destinations using URI syntax.</p><h3
id="ActiveMQ4ConnectionURIs-BrokerConfigurationURI">Broker Configuration
URI</h3><p>You can use a <a shape="rect"
href="broker-configuration-uri.html">Broker Configuration URI</a> to configure
an embedded broker, either using the BrokerFactory helper class from Java or
using the activemq shell script. For more details see <a shape="rect"
href="run-broker.html">How to Run a Broker</a></p><h3
id="ActiveMQ4ConnectionURIs-ConfiguringWireFormats">Configuring Wire
Formats</h3><p>Any transport which involves marshalling messages onto some kind
of network transport like TCP or UDP will typically use the <a shape="rect"
href="openwire.html">OpenWire</a> format. This is configurable to customize how
things appear on the wire.</p><p>For more information see <a shape="rect"
href="configuring-wire-formats.ht
ml">Configuring Wire Formats</a></p><h2
id="ActiveMQ4ConnectionURIs-HighLevelProtocolURIs">High Level Protocol
URIs</h2><p>The following higher level protocols can be configured via
URI</p><h3 id="ActiveMQ4ConnectionURIs-TheFailoverTransport">The Failover
Transport</h3><p>The Failover transport layers reconnect logic on top of any of
the other transports. This is what used to be the Reliable transport in
ActiveMQ 3. Its configuration syntax allows you to specify any number of
composite URIs. The Failover transport randomly chooses one of the composite
URIs and attempts to establish a connection to it. If it does not succeed or if
it subsequently fails, a new connection is established to one of the other URIs
in the list.</p><p>For more information see the <a shape="rect"
href="failover-transport-reference.html">Failover Transport
Reference</a></p><h3 id="ActiveMQ4ConnectionURIs-TheFanoutTransport">The Fanout
Transport</h3><p>The Fanout transport layers reconnect and replicate logic
on top of any of the other transports. It is used replicate commands to
multiple brokers.</p><p>For more information see the <a shape="rect"
href="fanout-transport-reference.html">Fanout Transport Reference</a></p><h2
id="ActiveMQ4ConnectionURIs-UsingDiscovery">Using Discovery</h2><p>Often when
using transports like TCP you want to use <a shape="rect"
href="discovery.html">Discovery</a> to locate the available brokers. This is
different from using, say, <a shape="rect"
href="multicast-transport-reference.html">Multicast</a> - as the actual main
communication is over TCP but multicast is purely used to discover the location
of brokers.</p><h3 id="ActiveMQ4ConnectionURIs-TheDiscoveryTransport">The
Discovery Transport</h3><p>The Discovery transport works just like the reliable
transport, except that it uses a discovery agent to locate the list of URIs to
connect to.</p><p>For more information see the <a shape="rect"
href="discovery-transport-reference.html">Discovery Transport Referenc
e</a></p><h3 id="ActiveMQ4ConnectionURIs-TheZeroConfTransport">The ZeroConf
Transport</h3><p>The ZeroConf transport provides <a shape="rect"
href="discovery.html">Discovery</a> and it works like the <a shape="rect"
href="discovery-transport-reference.html">Discovery Transport</a> but rather
than using our own multicast based discovery mechanism (which allows you to
configure the exact multicast address and port, etc.), the <a shape="rect"
href="zeroconf.html">ZeroConf</a> transport is used instead.</p><p>For more
information see the <a shape="rect"
href="zeroconf-transport-reference.html">ZeroConf Transport
Reference</a></p><h3 id="ActiveMQ4ConnectionURIs-Serversideoptions">Server side
options</h3><p>There are a number of options that can be used for changing
behaviour on the server for the TransportConnector in the ActiveMQ broker
configuration. These are:</p><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p>proper
ty name</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>default</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>description</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p>uri</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>null</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>the bind address for the transport</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>name</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>null</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>the name of the TransportConnector
instance</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>discoveryURI</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>null</p></td><th colspan="1" rowspan="1"
class="confluenceTh"><p>if set, the multicast discovery address for client
connections to find the broker</p></th></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>enableStatusMon
itor</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>will monitor connections to determine if they are
blocked</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>updateClusterClients</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>if enabled, will update client connections (if they use
the failover:// transport) of changes to the broker
cluster</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>rebalanceClusterClients</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>will automatically rebalance clients across the cluster
on changes of topology</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>updateClusterClientsOnRemove</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>false</p></td><td co
lspan="1" rowspan="1" class="confluenceTd"><p>will update clients if a broker
is removed from the cluster</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>updateClusterFilter</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>null</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>comma separated list of regular expressions. Brokers
with the a name matching the pattern will be included for client
updates</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><span style="color: red;">
allowLinkStealing</span></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>this is enabled for default for mqtt transport. Link
Stealing is where the last of two or more connections with the same id
(clinetId for JMS) is deemed the valid connection and the older one is closed
by the broker.</p></td></tr></tbody></table></div><p><sub>Note: properties in
<span style="color: red;
">red</span> are version 5.10 (and higher) options only.</sub></p><p>An
example configuration would be:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[<broker>
...
<transportConnectors>
<transportConnector name="openwire"
uri="tcp://0.0.0.0:61616" enableStatusMonitor="true"/>
Modified: websites/production/activemq/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.
Modified: websites/production/activemq/content/configuring-transports.html
==============================================================================
--- websites/production/activemq/content/configuring-transports.html (original)
+++ websites/production/activemq/content/configuring-transports.html Wed Oct 1
09:21:25 2014
@@ -81,49 +81,15 @@
<tbody>
<tr>
<td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2
id="ConfiguringTransports-Transportconfigurationoptions">Transport
configuration options</h2>
-
-<p>One of the first kinds of URI you are likely to use is a transport URI to
connect to a broker using a kind of transport. Generally TCP or VM are the
first transports you'll use.</p>
-
- <div class="aui-message problem shadowed information-macro">
+<div class="wiki-content maincontent"><h2
id="ConfiguringTransports-Transportconfigurationoptions">Transport
configuration options</h2><p>One of the first kinds of URI you are likely to
use is a transport URI to connect to a broker using a kind of transport.
Generally TCP or VM are the first transports you'll use.</p> <div
class="aui-message problem shadowed information-macro">
<p class="title">Be careful about whitespace</p>
<span class="aui-icon icon-problem">Icon</span>
<div class="message-content">
-
-<p>All of the following URI configurations are based on the java.net.URI class
which does not allow whitespace to be used. So if you are using
<strong>failover:</strong> or <strong>static:</strong> URIs, do not put any
whitespace around the <strong>,</strong> symbol.</p>
+ <p>All of the following URI configurations are
based on the java.net.URI class which does not allow whitespace to be used. So
if you are using <strong>failover:</strong> or <strong>static:</strong> URIs,
do not put any whitespace around the <strong>,</strong> symbol.</p>
</div>
</div>
-
-
-<h3 id="ConfiguringTransports-TheVMTransport">The VM Transport</h3>
-
-<p>The VM transport allows clients to connect to each other inside the VM
without the overhead of the network communication. The connection used is not
that of a socket connection but instead uses direct method invocations to
enable a high performance embedded messaging system.</p>
-
-<p>The first client to use the VM connection will boot an embedded broker.
Subsequent connections will attach that the same broker. Once all VM
connections to the broker have been closed, the embedded broker will
automatically shutdown.</p>
-
-<p>For more information see the <a shape="rect"
href="vm-transport-reference.html">VM Transport Reference</a></p>
-
-<h3 id="ConfiguringTransports-TheAMQPTransport">The AMQP Transport</h3>
-<p>As of 5.8.0 ActiveMQ has support for AMQP. For details see the <a
shape="rect" href="amqp.html">AMQP</a> Transport Reference.</p>
-
-<h3 id="ConfiguringTransports-TheMQTTTransport">The MQTT Transport</h3>
-<p>Starting with 5.6.0 ActiveMQ also supports <a shape="rect"
class="external-link" href="http://mqtt.org/" rel="nofollow">MQTT</a>. Its a
light weight publish/subscribe messaging transport. See the <a shape="rect"
href="mqtt.html">MQTT</a> Transport Reference for details.</p>
-
-<h3 id="ConfiguringTransports-TheTCPTransport">The TCP Transport</h3>
-
-<p>The TCP transport allows clients to connect a remote ActiveMQ using a a TCP
socket.</p>
-
-<p>For more information see the <a shape="rect"
href="tcp-transport-reference.html">TCP Transport Reference</a></p>
-
-<h3 id="ConfiguringTransports-TheNIOTransport">The NIO Transport</h3>
-
-<p>Same as the TCP transport, except that the <a shape="rect"
class="external-link" href="http://en.wikipedia.org/wiki/New_I/O"
rel="nofollow">New I/O (NIO)</a> package is used, which may provide better
performance. The Java NIO package should not be confused with IBM's <a
shape="rect" class="external-link"
href="http://java.sys-con.com/read/46658.htm" rel="nofollow">AIO4J </a>
package. </p>
-
-<p>To switch from TCP to NIO, simply change the scheme portion of the URI.
Here's an example as defined within a broker's XML configuration file. </p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[
-<broker>
+<h3 id="ConfiguringTransports-TheVMTransport">The VM Transport</h3><p>The VM
transport allows clients to connect to each other inside the VM without the
overhead of the network communication. The connection used is not that of a
socket connection but instead uses direct method invocations to enable a high
performance embedded messaging system.</p><p>The first client to use the VM
connection will boot an embedded broker. Subsequent connections will attach
that the same broker. Once all VM connections to the broker have been closed,
the embedded broker will automatically shutdown.</p><p>For more information see
the <a shape="rect" href="vm-transport-reference.html">VM Transport
Reference</a></p><h3 id="ConfiguringTransports-TheAMQPTransport">The AMQP
Transport</h3><p>As of 5.8.0 ActiveMQ has support for AMQP. For details see the
<a shape="rect" href="amqp.html">AMQP</a> Transport Reference.</p><h3
id="ConfiguringTransports-TheMQTTTransport">The MQTT Transport</h3><p>Starting
with 5.6.
0 ActiveMQ also supports <a shape="rect" class="external-link"
href="http://mqtt.org/" rel="nofollow">MQTT</a>. Its a light weight
publish/subscribe messaging transport. See the <a shape="rect"
href="mqtt.html">MQTT</a> Transport Reference for details.</p><h3
id="ConfiguringTransports-TheTCPTransport">The TCP Transport</h3><p>The TCP
transport allows clients to connect a remote ActiveMQ using a a TCP
socket.</p><p>For more information see the <a shape="rect"
href="tcp-transport-reference.html">TCP Transport Reference</a></p><h3
id="ConfiguringTransports-TheNIOTransport">The NIO Transport</h3><p>Same as the
TCP transport, except that the <a shape="rect" class="external-link"
href="http://en.wikipedia.org/wiki/New_I/O" rel="nofollow">New I/O (NIO)</a>
package is used, which may provide better performance. The Java NIO package
should not be confused with IBM's <a shape="rect" class="external-link"
href="http://java.sys-con.com/read/46658.htm" rel="nofollow">AIO4J </a>
package.</p><p>To
switch from TCP to NIO, simply change the scheme portion of the URI. Here's
an example as defined within a broker's XML configuration file.</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[<broker>
...
<transportConnectors>
<transportConnector name="nio"
uri="nio://0.0.0.0:61616"/>
@@ -131,33 +97,15 @@
...
</broker>
]]></script>
-</div></div>
-
-<p>Trying to use nio transport url on the client side will instantiate the
regular TCP transport.</p>
-
-<h3 id="ConfiguringTransports-TheSSLTransport">The SSL Transport</h3>
-
-<p>This allows you to talk over TCP using SSL. </p>
-
-<p>For more information see the <a shape="rect"
href="ssl-transport-reference.html">SSL Transport Reference</a></p>
-
-<h3 id="ConfiguringTransports-TheNIOSSLTransport">The NIO SSL Transport</h3>
-
- <div class="aui-message hint shadowed information-macro">
+</div></div><p>Trying to use nio transport url on the client side will
instantiate the regular TCP transport.</p><h3
id="ConfiguringTransports-TheSSLTransport">The SSL Transport</h3><p>This allows
you to talk over TCP using SSL.</p><p>For more information see the <a
shape="rect" href="ssl-transport-reference.html">SSL Transport
Reference</a></p><h3 id="ConfiguringTransports-TheNIOSSLTransport">The NIO SSL
Transport</h3> <div class="aui-message hint shadowed information-macro">
<p class="title">Availability</p>
<span class="aui-icon icon-hint">Icon</span>
<div class="message-content">
-
-<p>Available since 5.6</p>
+ <p>Available since 5.6</p>
</div>
</div>
-
-
-<p>Implementing SSL transport over NIO. This allows you to connect large
number of SSL clients to a single broker instance. It's server side
transport-option only</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[
-<broker>
+<p>Implementing SSL transport over NIO. This allows you to connect large
number of SSL clients to a single broker instance. It's server side
transport-option only</p><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[<broker>
...
<transportConnectors>
<transportConnector name="nio+ssl"
uri="nio+ssl://0.0.0.0:61616"/>
@@ -165,108 +113,8 @@
...
</broker>
]]></script>
-</div></div>
-
-<p>Trying to use <code>nio+ssl</code> transport url on the client side will
instantiate the regular SSL transport.</p>
-
-<h3 id="ConfiguringTransports-ThePeerTransport">The Peer Transport</h3>
-
-<p>The Peer transport provides a peer-to-peer network with ActiveMQ. What
actually happens is the peer transport uses the VM transport to create and
connect to a local embedded broker but which configures the embedded broker to
establish network connections to other peer embedded brokers.</p>
-
-<p>For more information see the <a shape="rect"
href="peer-transport-reference.html">Peer Transport Reference</a></p>
-
-<h3 id="ConfiguringTransports-TheUDPTransport">The UDP Transport</h3>
-
-<p>This allows you to talk over UDP. </p>
-
-<p>For more information see the <a shape="rect"
href="udp-transport-reference.html">UDP Transport Reference</a></p>
-
-<h3 id="ConfiguringTransports-TheMulticastTransport">The Multicast
Transport</h3>
-
-<p>This allows you to talk over Multicast. </p>
-
-<p>For more information see the <a shape="rect"
href="multicast-transport-reference.html">Multicast Transport Reference</a></p>
-
-<h3 id="ConfiguringTransports-TheHTTPandHTTPSTransport">The HTTP and HTTPS
Transport</h3>
-
-<p>This allows the ActiveMQ client and broker to tunnel over HTTP. If the
client is not JMS you might want to look at <a shape="rect"
href="rest.html">REST</a> or <a shape="rect" href="ajax.html">Ajax</a> support
instead.</p>
-
-<p>For more information see the <a shape="rect"
href="http-and-https-transports-reference.html">HTTP and HTTPs Transports
Reference</a></p>
-
-<h3 id="ConfiguringTransports-TheWebSocketsTransport">The WebSockets
Transport</h3>
-<p>This transport uses the new HTML5 WebSockets to exchange messages with the
broker. For more information see the <a shape="rect"
href="websockets.html">WebSockets</a> Transport Reference</p>
-
-<h2 id="ConfiguringTransports-GeneralPurposeURIs">General Purpose URIs</h2>
-
-<p>You can configure other features via the URI syntax as follows...</p>
-
-<h3 id="ConfiguringTransports-ConnectionConfigurationURI">Connection
Configuration URI</h3>
-
-<p>Any Apache ActiveMQ JMS connection can be configured using the URL or
explicitly setting properties on the <a shape="rect" class="external-link"
href="http://incubator.apache.org/activemq/maven/activemq-core/apidocs/org/apache/activemq/ActiveMQConnection.html">ActiveMQConnection</a>
or <a shape="rect" class="external-link"
href="http://incubator.apache.org/activemq/maven/activemq-core/apidocs/org/apache/activemq/ActiveMQConnectionFactory.html">ActiveMQConnectionFactory</a>
objects themselves.</p>
-
-<p>For more information see <a shape="rect"
href="connection-configuration-uri.html">Connection Configuration URI</a></p>
-
-<h3 id="ConfiguringTransports-DestinationOptions">Destination Options</h3>
-
-<p>You can configure various consumer related options using <a shape="rect"
href="destination-options.html">Destination Options</a> which allow you to
configure destinations using URI syntax.</p>
-
-<h3 id="ConfiguringTransports-BrokerConfigurationURI">Broker Configuration
URI</h3>
-
-<p>You can use a <a shape="rect" href="broker-configuration-uri.html">Broker
Configuration URI</a> to configure an embedded broker, either using the
BrokerFactory helper class from Java or using the activemq shell script. For
more details see <a shape="rect" href="run-broker.html">How to Run a
Broker</a></p>
-
-<h3 id="ConfiguringTransports-ConfiguringWireFormats">Configuring Wire
Formats</h3>
-
-<p>Any transport which involves marshalling messages onto some kind of network
transport like TCP or UDP will typically use the <a shape="rect"
href="openwire.html">OpenWire</a> format. This is configurable to customize how
things appear on the wire.</p>
-
-<p>For more information see <a shape="rect"
href="configuring-wire-formats.html">Configuring Wire Formats</a></p>
-
-<h2 id="ConfiguringTransports-HighLevelProtocolURIs">High Level Protocol
URIs</h2>
-
-<p>The following higher level protocols can be configured via URI</p>
-
-<h3 id="ConfiguringTransports-TheFailoverTransport">The Failover Transport</h3>
-
-<p>The Failover transport layers reconnect logic on top of any of the other
transports. This is what used to be the Reliable transport in ActiveMQ 3. Its
configuration syntax allows you to specify any number of composite URIs. The
Failover transport randomly chooses one of the composite URIs and attempts to
establish a connection to it. If it does not succeed or if it subsequently
fails, a new connection is established to one of the other URIs in the list.</p>
-
-<p>For more information see the <a shape="rect"
href="failover-transport-reference.html">Failover Transport Reference</a></p>
-
-<h3 id="ConfiguringTransports-TheFanoutTransport">The Fanout Transport</h3>
-
-<p>The Fanout transport layers reconnect and replicate logic on top of any of
the other transports. It is used replicate commands to multiple brokers.</p>
-
-<p>For more information see the <a shape="rect"
href="fanout-transport-reference.html">Fanout Transport Reference</a></p>
-
-<h2 id="ConfiguringTransports-UsingDiscovery">Using Discovery</h2>
-
-<p>Often when using transports like TCP you want to use <a shape="rect"
href="discovery.html">Discovery</a> to locate the available brokers. This is
different from using, say, <a shape="rect"
href="multicast-transport-reference.html">Multicast</a> - as the actual main
communication is over TCP but multicast is purely used to discover the location
of brokers.</p>
-
-<h3 id="ConfiguringTransports-TheDiscoveryTransport">The Discovery
Transport</h3>
-
-<p>The Discovery transport works just like the reliable transport, except that
it uses a discovery agent to locate the list of URIs to connect to.</p>
-
-<p>For more information see the <a shape="rect"
href="discovery-transport-reference.html">Discovery Transport Reference</a></p>
-
-<h3 id="ConfiguringTransports-TheZeroConfTransport">The ZeroConf Transport</h3>
-
-<p>The ZeroConf transport provides <a shape="rect"
href="discovery.html">Discovery</a> and it works like the <a shape="rect"
href="discovery-transport-reference.html">Discovery Transport</a> but rather
than using our own multicast based discovery mechanism (which allows you to
configure the exact multicast address and port, etc.), the <a shape="rect"
href="zeroconf.html">ZeroConf</a> transport is used instead.</p>
-
-<p>For more information see the <a shape="rect"
href="zeroconf-transport-reference.html">ZeroConf Transport Reference</a></p>
-
-
-<h3 id="ConfiguringTransports-Serversideoptions">Server side options</h3>
-
-<p>There are a number of options that can be used for changing behaviour on
the server for the TransportConnector in the ActiveMQ broker configuration.
These are:</p>
-
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th
colspan="1" rowspan="1" class="confluenceTh"><p>property name</p></th><th
colspan="1" rowspan="1" class="confluenceTh"><p>default</p></th><th colspan="1"
rowspan="1" class="confluenceTh"><p>description</p></th></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>uri</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>null</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>the bind address for the transport</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>name</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>null</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>the name of the TransportConnector
instance</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>discoveryURI</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>null</p></td><th colspan="1" rowspan="1"
class="confluenceTh"><p>if set, the multicast discovery address fo
r client connections to find the broker</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p>enableStatusMonitor</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>will monitor connections to determine if they are
blocked</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>updateClusterClients</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>if enabled, will update client connections (if they use
the failover:// transport) of changes to the broker
cluster</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>rebalanceClusterClients</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>will automatically rebalance clients across the cluster
on changes of topology</p></td></tr><tr><td colspan="1" rowspan="1" class="co
nfluenceTd"><p>updateClusterClientsOnRemove</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>will update clients if a broker is removed from the
cluster</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>updateClusterFilter</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>null</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>comma separated list of regular expressions. Brokers
with the a name matching the pattern will be included for client
updates</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><span style="color: red;">
allowLinkStealing</span></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>this is enabled for default for mqtt transport. Link
Stealing is where the last of two or more connections with the same id
(clinetId for JMS) is deemed the valid connection and th
e older one is closed by the broker.</p></td></tr></tbody></table></div>
-
-
-<p><sub>Note: properties in <span style="color: red;">red</span> are version
5.10 (and higher) options only.</sub></p>
-
-<p>An example configuration would be:</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
-<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[
-<broker>
+</div></div><p>Trying to use <code>nio+ssl</code> transport url on the client
side will instantiate the regular SSL transport.</p><h3
id="ConfiguringTransports-ThePeerTransport">The Peer Transport</h3><p>The Peer
transport provides a peer-to-peer network with ActiveMQ. What actually happens
is the peer transport uses the VM transport to create and connect to a local
embedded broker but which configures the embedded broker to establish network
connections to other peer embedded brokers.</p><p>For more information see the
<a shape="rect" href="peer-transport-reference.html">Peer Transport
Reference</a></p><h3 id="ConfiguringTransports-TheUDPTransport">The UDP
Transport</h3><p>This allows you to talk over UDP.</p><p>For more information
see the <a shape="rect" href="udp-transport-reference.html">UDP Transport
Reference</a></p><h3 id="ConfiguringTransports-TheMulticastTransport">The
Multicast Transport</h3><p>This allows you to talk over Multicast.</p><p>For
more information see the <a
shape="rect" href="multicast-transport-reference.html">Multicast Transport
Reference</a></p><h3 id="ConfiguringTransports-TheHTTPandHTTPSTransport">The
HTTP and HTTPS Transport</h3><p>This allows the ActiveMQ client and broker to
tunnel over HTTP. If the client is not JMS you might want to look at <a
shape="rect" href="rest.html">REST</a> or <a shape="rect"
href="ajax.html">Ajax</a> support instead.</p><p>For more information see the
<a shape="rect" href="http-and-https-transports-reference.html">HTTP and HTTPs
Transports Reference</a></p><h3
id="ConfiguringTransports-TheWebSocketsTransport">The WebSockets
Transport</h3><p>This transport uses the new HTML5 WebSockets to exchange
messages with the broker. For more information see the <a shape="rect"
href="websockets.html">WebSockets</a> Transport Reference</p><h3
id="ConfiguringTransports-TheStompTransport">The Stomp Transport</h3><p>A plain
text transport that can be used with many languages. See <a shape="rect"
href="stomp.htm
l">Stomp</a> for more details.</p><h2
id="ConfiguringTransports-GeneralPurposeURIs">General Purpose URIs</h2><p>You
can configure other features via the URI syntax as follows...</p><h3
id="ConfiguringTransports-ConnectionConfigurationURI">Connection Configuration
URI</h3><p>Any Apache ActiveMQ JMS connection can be configured using the URL
or explicitly setting properties on the <a shape="rect" class="external-link"
href="http://incubator.apache.org/activemq/maven/activemq-core/apidocs/org/apache/activemq/ActiveMQConnection.html">ActiveMQConnection</a>
or <a shape="rect" class="external-link"
href="http://incubator.apache.org/activemq/maven/activemq-core/apidocs/org/apache/activemq/ActiveMQConnectionFactory.html">ActiveMQConnectionFactory</a>
objects themselves.</p><p>For more information see <a shape="rect"
href="connection-configuration-uri.html">Connection Configuration
URI</a></p><h3 id="ConfiguringTransports-DestinationOptions">Destination
Options</h3><p>You can configure vario
us consumer related options using <a shape="rect"
href="destination-options.html">Destination Options</a> which allow you to
configure destinations using URI syntax.</p><h3
id="ConfiguringTransports-BrokerConfigurationURI">Broker Configuration
URI</h3><p>You can use a <a shape="rect"
href="broker-configuration-uri.html">Broker Configuration URI</a> to configure
an embedded broker, either using the BrokerFactory helper class from Java or
using the activemq shell script. For more details see <a shape="rect"
href="run-broker.html">How to Run a Broker</a></p><h3
id="ConfiguringTransports-ConfiguringWireFormats">Configuring Wire
Formats</h3><p>Any transport which involves marshalling messages onto some kind
of network transport like TCP or UDP will typically use the <a shape="rect"
href="openwire.html">OpenWire</a> format. This is configurable to customize how
things appear on the wire.</p><p>For more information see <a shape="rect"
href="configuring-wire-formats.html">Configuring Wire F
ormats</a></p><h2 id="ConfiguringTransports-HighLevelProtocolURIs">High Level
Protocol URIs</h2><p>The following higher level protocols can be configured via
URI</p><h3 id="ConfiguringTransports-TheFailoverTransport">The Failover
Transport</h3><p>The Failover transport layers reconnect logic on top of any of
the other transports. This is what used to be the Reliable transport in
ActiveMQ 3. Its configuration syntax allows you to specify any number of
composite URIs. The Failover transport randomly chooses one of the composite
URIs and attempts to establish a connection to it. If it does not succeed or if
it subsequently fails, a new connection is established to one of the other URIs
in the list.</p><p>For more information see the <a shape="rect"
href="failover-transport-reference.html">Failover Transport
Reference</a></p><h3 id="ConfiguringTransports-TheFanoutTransport">The Fanout
Transport</h3><p>The Fanout transport layers reconnect and replicate logic on
top of any of the other t
ransports. It is used replicate commands to multiple brokers.</p><p>For more
information see the <a shape="rect"
href="fanout-transport-reference.html">Fanout Transport Reference</a></p><h2
id="ConfiguringTransports-UsingDiscovery">Using Discovery</h2><p>Often when
using transports like TCP you want to use <a shape="rect"
href="discovery.html">Discovery</a> to locate the available brokers. This is
different from using, say, <a shape="rect"
href="multicast-transport-reference.html">Multicast</a> - as the actual main
communication is over TCP but multicast is purely used to discover the location
of brokers.</p><h3 id="ConfiguringTransports-TheDiscoveryTransport">The
Discovery Transport</h3><p>The Discovery transport works just like the reliable
transport, except that it uses a discovery agent to locate the list of URIs to
connect to.</p><p>For more information see the <a shape="rect"
href="discovery-transport-reference.html">Discovery Transport
Reference</a></p><h3 id="ConfiguringTran
sports-TheZeroConfTransport">The ZeroConf Transport</h3><p>The ZeroConf
transport provides <a shape="rect" href="discovery.html">Discovery</a> and it
works like the <a shape="rect"
href="discovery-transport-reference.html">Discovery Transport</a> but rather
than using our own multicast based discovery mechanism (which allows you to
configure the exact multicast address and port, etc.), the <a shape="rect"
href="zeroconf.html">ZeroConf</a> transport is used instead.</p><p>For more
information see the <a shape="rect"
href="zeroconf-transport-reference.html">ZeroConf Transport
Reference</a></p><h3 id="ConfiguringTransports-Serversideoptions">Server side
options</h3><p>There are a number of options that can be used for changing
behaviour on the server for the TransportConnector in the ActiveMQ broker
configuration. These are:</p><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p>property name</p></th><th colspan="1" rows
pan="1" class="confluenceTh"><p>default</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>description</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p>uri</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>null</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>the bind address for the transport</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>name</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>null</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>the name of the TransportConnector
instance</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>discoveryURI</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>null</p></td><th colspan="1" rowspan="1"
class="confluenceTh"><p>if set, the multicast discovery address for client
connections to find the broker</p></th></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>enableStatusMonitor</p></td><td colspan="1" rowspan
="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>will monitor connections to determine if they are
blocked</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>updateClusterClients</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>if enabled, will update client connections (if they use
the failover:// transport) of changes to the broker
cluster</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>rebalanceClusterClients</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>will automatically rebalance clients across the cluster
on changes of topology</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>updateClusterClientsOnRemove</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1"
class="conflue
nceTd"><p>will update clients if a broker is removed from the
cluster</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>updateClusterFilter</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>null</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>comma separated list of regular expressions. Brokers
with the a name matching the pattern will be included for client
updates</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><span style="color: red;">
allowLinkStealing</span></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>this is enabled for default for mqtt transport. Link
Stealing is where the last of two or more connections with the same id
(clinetId for JMS) is deemed the valid connection and the older one is closed
by the broker.</p></td></tr></tbody></table></div><p><sub>Note: properties in
<span style="color: red;">red</span> are version 5.10 (and h
igher) options only.</sub></p><p>An example configuration would be:</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[<broker>
...
<transportConnectors>
<transportConnector name="openwire"
uri="tcp://0.0.0.0:61616" enableStatusMonitor="true"/>