Author: buildbot
Date: Thu Sep 20 14:24:44 2018
New Revision: 1035458

Log:
Production update by buildbot for activemq

Modified:
    websites/production/activemq/content/activemq-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-connection-uris.html
==============================================================================
--- websites/production/activemq/content/activemq-connection-uris.html 
(original)
+++ websites/production/activemq/content/activemq-connection-uris.html Thu Sep 
20 14:24:44 2018
@@ -84,7 +84,7 @@
         <tr>
         <td valign="top" width="100%">
 <div class="wiki-content maincontent"><h2 
id="ActiveMQConnectionURIs-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="confluence-information-macro confluence-information-macro-warning"><p 
class="title">Be careful about whitespace</p><span class="aui-icon 
aui-icon-small aui-iconfont-error 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><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><code>failover:</code></strong> 
or&#160;<strong><code>static:</code></strong> URIs, do not put any whitespace 
around the <strong><code>','</code> </strong>symbol.</p></div></div><h3 
id="ActiveMQConnectionURIs-TheAUTOTransport">The AUTO Transport</h3><p>S
 tarting with 5.13.0 ActiveMQ has support for automatic wire protocol detection 
over TCP, SSL, NIO, and NIO SSL. &#160;OpenWire, STOMP, AMQP, and MQTT are 
supported. &#160;For details see the <a shape="rect" href="auto.html">AUTO 
</a>Transport Reference.</p><h3 id="ActiveMQConnectionURIs-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="ActiveMQConnectionURIs-TheAMQ
 PTransport">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="ActiveMQConnectionURIs-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="ActiveMQConnectionURIs-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="ActiveMQConnectionURIs-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="nof
 ollow">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">
-<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">&lt;broker&gt;
+<pre class="brush: java; gutter: false; theme: Default">&lt;broker&gt;
   ...
   &lt;transportConnectors&gt;
     &lt;transportConnector name="nio" uri="nio://0.0.0.0:61616"/&gt;  
@@ -93,7 +93,7 @@
 &lt;/broker&gt;
 </pre>
 </div></div><p>Trying to use nio transport url on the client side will 
instantiate the regular TCP transport. For more information see the <a 
shape="rect" href="nio-transport-reference.html">NIO Transport 
Reference</a></p><h3 id="ActiveMQConnectionURIs-TheSSLTransport">The SSL 
Transport</h3><p>This allows you to talk over TCP using SSL. For more 
information see the <a shape="rect" href="ssl-transport-reference.html">SSL 
Transport Reference</a></p><h3 
id="ActiveMQConnectionURIs-TheNIOSSLTransport">The NIO SSL Transport</h3><div 
class="confluence-information-macro 
confluence-information-macro-information"><p 
class="title">Availability</p><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><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">
-<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">&lt;broker&gt;
+<pre class="brush: java; gutter: false; theme: Default">&lt;broker&gt;
   ...
   &lt;transportConnectors&gt;
     &lt;transportConnector name="nio+ssl" uri="nio+ssl://0.0.0.0:61616"/&gt;  
@@ -101,8 +101,8 @@
   ...
 &lt;/broker&gt;
 </pre>
-</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="ActiveMQConnectionURIs-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="ActiveMQConnectionURIs-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="ActiveMQConnectionURIs-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="ActiveMQConnectionURIs-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="ActiveMQConnectionURIs-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="ActiveMQConnectionURIs-TheStompTransport">The Stomp Transport</h3><p>A 
plain text transport that can be used with many languages. See&#160;<a 
shape="rect" href="sto
 mp.html">Stomp</a> for more details.</p><h2 
id="ActiveMQConnectionURIs-GeneralPurposeURIs">General Purpose URIs</h2><p>You 
can configure other features via the URI syntax as follows...</p><h3 
id="ActiveMQConnectionURIs-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="ActiveMQConnectionURIs-DestinationOptions">Destination 
Options</h3><p>You can config
 ure 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="ActiveMQConnectionURIs-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="ActiveMQConnectionURIs-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">Configu
 ring Wire Formats</a></p><h2 
id="ActiveMQConnectionURIs-HighLevelProtocolURIs">High Level Protocol 
URIs</h2><p>The following higher level protocols can be configured via 
URI</p><h3 id="ActiveMQConnectionURIs-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="ActiveMQConnectionURIs-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="ActiveMQConnectionURIs-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="ActiveMQConnectionURIs-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=
 "ActiveMQConnectionURIs-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="ActiveMQConnectionURIs-Serversideoptions">Server side 
options</h3><p>There are a number of options that can be used for changing 
behavior on the server for 
the&#160;<strong><code>TransportConnector</code></strong> in the ActiveMQ 
broker configuration. These are:</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="conflue
 nceTh"><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><span style="color: red;"> 
<code>allowLinkStealing</code><br clear="none"></span></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>This is enabled for default for MQTT 
transport.</p><p>Link Stealing is where the last of two or more connections 
with the same id (clientID for JMS) is deemed the valid connection and the 
older one is closed by the broker.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>discoveryURI</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>If set, the multicast discovery address for 
client connections to find the broker.</p><
 /td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>enableStatusMonitor</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></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><code>name</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The name of 
the&#160;<strong><code>TransportConnector</code></strong> 
instance.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>rebalanceClusterClients</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Will automatically re-balance 
clients across the cluster on changes of topology.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p><
 code>updateClusterClients</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>If enabled, will update client connections (if they use 
the&#160;<strong><code>failover://</code></strong> transport) of changes to the 
broker cluster.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>updateClusterClientsOnRemove</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></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><code>updateClusterFilter</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Comma separated list of regular 
expressions. Brokers with a name matching the pattern will be included for 
client updates.
 </p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>uri</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The bind address for the 
transport.</p></td></tr></tbody></table></div><div 
class="confluence-information-macro 
confluence-information-macro-information"><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p><strong>Note</strong>: properties 
in <span style="color: rgb(255,0,0);">red</span> are version 5.10 (and higher) 
options only.</p></div></div><p>Example configuration:</p><div class="code 
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;broker&gt;
+</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="ActiveMQConnectionURIs-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="ActiveMQConnectionURIs-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="ActiveMQConnectionURIs-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="ActiveMQConnectionURIs-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="ActiveMQConnectionURIs-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="ActiveMQConnectionURIs-TheStompTransport">The Stomp Transport</h3><p>A 
plain text transport that can be used with many languages. See&#160;<a 
shape="rect" href="sto
 mp.html">Stomp</a> for more details.</p><h2 
id="ActiveMQConnectionURIs-GeneralPurposeURIs">General Purpose URIs</h2><p>You 
can configure other features via the URI syntax as follows...</p><h3 
id="ActiveMQConnectionURIs-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="ActiveMQConnectionURIs-DestinationOptions">Destination 
Options</h3><p>You can config
 ure 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="ActiveMQConnectionURIs-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="ActiveMQConnectionURIs-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">Configu
 ring Wire Formats</a></p><h2 
id="ActiveMQConnectionURIs-HighLevelProtocolURIs">High Level Protocol 
URIs</h2><p>The following higher level protocols can be configured via 
URI</p><h3 id="ActiveMQConnectionURIs-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="ActiveMQConnectionURIs-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="ActiveMQConnectionURIs-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="ActiveMQConnectionURIs-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=
 "ActiveMQConnectionURIs-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="ActiveMQConnectionURIs-Serversideoptions">Server side 
options</h3><p>There are a number of options that can be used for changing 
behavior on the server for 
the&#160;<strong><code>TransportConnector</code></strong> in the ActiveMQ 
broker configuration. These are:</p><div class="table-wrap"><table 
class="confluenceTable"><colgroup span="1"><col span="1"><col span="1"><col s
 pan="1"></colgroup><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><span style="color: red;"> <span 
style="color: rgb(0,0,0);"><code>allowLinkStealing</code></span><br 
clear="none"></span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>This is enabled for default for MQTT 
transport.</p><p>Link Stealing is where the last of two or more connections 
with the same id (clientID for JMS) is deemed the valid connection and the 
older one is closed by the broker.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>discoveryURI</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1"
  class="confluenceTd"><p>If set, the multicast discovery address for client 
connections to find the broker.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>enableStatusMonitor</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></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><code>name</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The name of 
the&#160;<strong><code>TransportConnector</code></strong> 
instance.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>rebalanceClusterClients</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Will automatically re-balance 
clients a
 cross the cluster on changes of topology.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>updateClusterClients</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>If enabled, will update client 
connections (if they use the&#160;<strong><code>failover://</code></strong> 
transport) of changes to the broker cluster.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>updateClusterClientsOnRemove</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></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><code>updateClusterFilter</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Comma sepa
 rated list of regular expressions. Brokers with a name matching the pattern 
will be included for client updates.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>uri</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></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 
class="p1"><code><span class="s1">warnOnRemoteClose</span></code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><code>false</code></td><td 
colspan="1" rowspan="1" class="confluenceTd">If set, issue a WARN log event if 
a client closes its connection in an abrupt manner, one example being a 
load-balancer health check. For a regular JMS client this WARN message is 
indicative of a client going away without a connection.close 
(5.16)</td></tr></tbody></table></div><p>Example configuration:</p><div 
class="code panel pdl" style="border-width: 1px
 ;"><div class="codeContent panelContent pdl">
+<pre class="brush: xml; gutter: false; theme: Default">&lt;broker&gt;
 &#160;&#160; &lt;!-- ... --&gt;
 
 &#160;&#160; &lt;transportConnectors&gt;

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 Thu Sep 20 
14:24:44 2018
@@ -83,7 +83,7 @@
         <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="confluence-information-macro confluence-information-macro-warning"><p 
class="title">Be careful about whitespace</p><span class="aui-icon 
aui-icon-small aui-iconfont-error 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><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><code>failover:</code></strong> 
or&#160;<strong><code>static:</code></strong> URIs, do not put any whitespace 
around the <strong><code>','</code> </strong>symbol.</p></div></div><h3 
id="ConfiguringTransports-TheAUTOTransport">The AUTO Transport</h3><p>Sta
 rting with 5.13.0 ActiveMQ has support for automatic wire protocol detection 
over TCP, SSL, NIO, and NIO SSL. &#160;OpenWire, STOMP, AMQP, and MQTT are 
supported. &#160;For details see the <a shape="rect" href="auto.html">AUTO 
</a>Transport Reference.</p><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-TheAMQPTra
 nsport">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">
-<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">&lt;broker&gt;
+<pre class="brush: java; gutter: false; theme: Default">&lt;broker&gt;
   ...
   &lt;transportConnectors&gt;
     &lt;transportConnector name="nio" uri="nio://0.0.0.0:61616"/&gt;  
@@ -92,7 +92,7 @@
 &lt;/broker&gt;
 </pre>
 </div></div><p>Trying to use nio transport url on the client side will 
instantiate the regular TCP transport. For more information see the <a 
shape="rect" href="nio-transport-reference.html">NIO Transport 
Reference</a></p><h3 id="ConfiguringTransports-TheSSLTransport">The SSL 
Transport</h3><p>This allows you to talk over TCP using SSL. 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="confluence-information-macro 
confluence-information-macro-information"><p 
class="title">Availability</p><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><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 cl
 ass="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">&lt;broker&gt;
+<pre class="brush: java; gutter: false; theme: Default">&lt;broker&gt;
   ...
   &lt;transportConnectors&gt;
     &lt;transportConnector name="nio+ssl" uri="nio+ssl://0.0.0.0:61616"/&gt;  
@@ -100,8 +100,8 @@
   ...
 &lt;/broker&gt;
 </pre>
-</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&#160;<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 
behavior on the server for 
the&#160;<strong><code>TransportConnector</code></strong> 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><span style="color: red;"> 
<code>allowLinkStealing</code><br clear="none"></span></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>This is enabled for default for MQTT 
transport.</p><p>Link Stealing is where the last of two or more connections 
with the same id (clientID for JMS) is deemed the valid connection and the 
older one is closed by the broker.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>discoveryURI</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>If set, the multicast discovery address for 
client connections to find the broker.</p></td></tr><tr><td c
 olspan="1" rowspan="1" 
class="confluenceTd"><p><code>enableStatusMonitor</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></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><code>name</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The name of 
the&#160;<strong><code>TransportConnector</code></strong> 
instance.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>rebalanceClusterClients</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Will automatically re-balance 
clients across the cluster on changes of topology.</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>updateCluster
 Clients</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>If enabled, will update client connections (if they use 
the&#160;<strong><code>failover://</code></strong> transport) of changes to the 
broker cluster.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>updateClusterClientsOnRemove</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></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><code>updateClusterFilter</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Comma separated list of regular 
expressions. Brokers with a name matching the pattern will be included for 
client updates.</p></td></tr><tr>
 <td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>uri</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The bind address for the 
transport.</p></td></tr></tbody></table></div><div 
class="confluence-information-macro 
confluence-information-macro-information"><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p><strong>Note</strong>: properties 
in <span style="color: rgb(255,0,0);">red</span> are version 5.10 (and higher) 
options only.</p></div></div><p>Example configuration:</p><div class="code 
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;broker&gt;
+</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&#160;<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 
behavior on the server for 
the&#160;<strong><code>TransportConnector</code></strong> in the ActiveMQ 
broker configuration. These are:</p><div class="table-wrap"><table 
class="confluenceTable"><colgroup span="1"><col span="1"><col span="1"><col 
span="1"></colgroup
 ><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><span style="color: red;"> <span 
 >style="color: rgb(0,0,0);"><code>allowLinkStealing</code></span><br 
 >clear="none"></span></p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>false</code></p></td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p>This is enabled for default for MQTT 
 >transport.</p><p>Link Stealing is where the last of two or more connections 
 >with the same id (clientID for JMS) is deemed the valid connection and the 
 >older one is closed by the broker.</p></td></tr><tr><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p><code>discoveryURI</code></p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
 >colspan="1" rowspan="1" class="confluence
 Td"><p>If set, the multicast discovery address for client connections to find 
the broker.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>enableStatusMonitor</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></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><code>name</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The name of 
the&#160;<strong><code>TransportConnector</code></strong> 
instance.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>rebalanceClusterClients</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Will automatically re-balance 
clients across the cluster 
 on changes of topology.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>updateClusterClients</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>If enabled, will update client 
connections (if they use the&#160;<strong><code>failover://</code></strong> 
transport) of changes to the broker cluster.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>updateClusterClientsOnRemove</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></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><code>updateClusterFilter</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Comma separated list of regu
 lar expressions. Brokers with a name matching the pattern will be included for 
client updates.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>uri</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>null</code></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 
class="p1"><code><span class="s1">warnOnRemoteClose</span></code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><code>false</code></td><td 
colspan="1" rowspan="1" class="confluenceTd">If set, issue a WARN log event if 
a client closes its connection in an abrupt manner, one example being a 
load-balancer health check. For a regular JMS client this WARN message is 
indicative of a client going away without a connection.close 
(5.16)</td></tr></tbody></table></div><p>Example configuration:</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="cod
 eContent panelContent pdl">
+<pre class="brush: xml; gutter: false; theme: Default">&lt;broker&gt;
 &#160;&#160; &lt;!-- ... --&gt;
 
 &#160;&#160; &lt;transportConnectors&gt;

Modified: 
websites/production/activemq/content/configuring-version-5-transports.html
==============================================================================
--- websites/production/activemq/content/configuring-version-5-transports.html 
(original)
+++ websites/production/activemq/content/configuring-version-5-transports.html 
Thu Sep 20 14:24:44 2018
@@ -84,7 +84,7 @@
         <tr>
         <td valign="top" width="100%">
 <div class="wiki-content maincontent"><h2 
id="ConfiguringVersion5Transports-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="confluence-information-macro confluence-information-macro-warning"><p 
class="title">Be careful about whitespace</p><span class="aui-icon 
aui-icon-small aui-iconfont-error 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><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><code>failover:</code></strong> 
or&#160;<strong><code>static:</code></strong> URIs, do not put any whitespace 
around the <strong><code>','</code> </strong>symbol.</p></div></div><h3 
id="ConfiguringVersion5Transports-TheAUTOTransport">The AUTO Tran
 sport</h3><p>Starting with 5.13.0 ActiveMQ has support for automatic wire 
protocol detection over TCP, SSL, NIO, and NIO SSL. &#160;OpenWire, STOMP, 
AMQP, and MQTT are supported. &#160;For details see the <a shape="rect" 
href="auto.html">AUTO </a>Transport Reference.</p><h3 
id="ConfiguringVersion5Transports-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="Configur
 ingVersion5Transports-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="ConfiguringVersion5Transports-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="ConfiguringVersion5Transports-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="ConfiguringVersion5Transports-TheNIOTransport">The NIO 
Transport</h3><p>Same as the TCP transport, except that the <a shape="rect" 
class="external-link" hre
 f="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">
-<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">&lt;broker&gt;
+<pre class="brush: java; gutter: false; theme: Default">&lt;broker&gt;
   ...
   &lt;transportConnectors&gt;
     &lt;transportConnector name="nio" uri="nio://0.0.0.0:61616"/&gt;  
@@ -93,7 +93,7 @@
 &lt;/broker&gt;
 </pre>
 </div></div><p>Trying to use nio transport url on the client side will 
instantiate the regular TCP transport. For more information see the <a 
shape="rect" href="nio-transport-reference.html">NIO Transport 
Reference</a></p><h3 id="ConfiguringVersion5Transports-TheSSLTransport">The SSL 
Transport</h3><p>This allows you to talk over TCP using SSL. For more 
information see the <a shape="rect" href="ssl-transport-reference.html">SSL 
Transport Reference</a></p><h3 
id="ConfiguringVersion5Transports-TheNIOSSLTransport">The NIO SSL 
Transport</h3><div class="confluence-information-macro 
confluence-information-macro-information"><p 
class="title">Availability</p><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><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">
-<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">&lt;broker&gt;
+<pre class="brush: java; gutter: false; theme: Default">&lt;broker&gt;
   ...
   &lt;transportConnectors&gt;
     &lt;transportConnector name="nio+ssl" uri="nio+ssl://0.0.0.0:61616"/&gt;  
@@ -101,8 +101,8 @@
   ...
 &lt;/broker&gt;
 </pre>
-</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="ConfiguringVersion5Transports-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="ConfiguringVersion5Transports-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="ConfiguringVersion5Transports-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="ConfiguringVersion5Transports-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="ConfiguringVersion5Transports-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="ConfiguringVersion5Transports-TheStompTransport">The Stomp 
Transport</h3><p>A plain text transport that can be used with many lan
 guages. See&#160;<a shape="rect" href="stomp.html">Stomp</a> for more 
details.</p><h2 id="ConfiguringVersion5Transports-GeneralPurposeURIs">General 
Purpose URIs</h2><p>You can configure other features via the URI syntax as 
follows...</p><h3 
id="ConfiguringVersion5Transports-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="ConfiguringVersion5Transport
 s-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="ConfiguringVersion5Transports-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="ConfiguringVersion5Transports-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="ConfiguringVersion5Transports-HighLevelProtocolURIs">High Level Protocol 
URIs</h2><p>The following higher level protocols can be configured via 
URI</p><h3 id="ConfiguringVersion5Transports-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="ConfiguringVersion5Transports-TheFanoutTransport">Th
 e 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="ConfiguringVersion5Transports-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="ConfiguringVersion5Transports-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 informatio
 n see the <a shape="rect" href="discovery-transport-reference.html">Discovery 
Transport Reference</a></p><h3 
id="ConfiguringVersion5Transports-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="ConfiguringVersion5Transports-Serversideoptions">Server side 
options</h3><p>There are a number of options that can be used for changing 
behavior on the server for 
the&#160;<strong><code>TransportConnector</code></strong> in the ActiveMQ 
broker configurati
 on. 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><span style="color: red;"> 
<code>allowLinkStealing</code><br clear="none"></span></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>This is enabled for default for MQTT 
transport.</p><p>Link Stealing is where the last of two or more connections 
with the same id (clientID for JMS) is deemed the valid connection and the 
older one is closed by the broker.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>discoveryURI</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="
 1" rowspan="1" class="confluenceTd"><p>If set, the multicast discovery address 
for client connections to find the broker.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>enableStatusMonitor</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></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><code>name</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The name of 
the&#160;<strong><code>TransportConnector</code></strong> 
instance.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>rebalanceClusterClients</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Will automatically re-bal
 ance clients across the cluster on changes of topology.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>updateClusterClients</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>If enabled, will update client 
connections (if they use the&#160;<strong><code>failover://</code></strong> 
transport) of changes to the broker cluster.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>updateClusterClientsOnRemove</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></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><code>updateClusterFilter</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"
 ><p>Comma separated list of regular expressions. Brokers with a name matching 
 >the pattern will be included for client updates.</p></td></tr><tr><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p><code>uri</code></p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p>The bind address for the 
 >transport.</p></td></tr></tbody></table></div><div 
 >class="confluence-information-macro 
 >confluence-information-macro-information"><span class="aui-icon 
 >aui-icon-small aui-iconfont-info 
 >confluence-information-macro-icon"></span><div 
 >class="confluence-information-macro-body"><p><strong>Note</strong>: 
 >properties in <span style="color: rgb(255,0,0);">red</span> are version 5.10 
 >(and higher) options only.</p></div></div><p>Example configuration:</p><div 
 >class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
 >panelContent pdl">
-<pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;broker&gt;
+</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="ConfiguringVersion5Transports-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="ConfiguringVersion5Transports-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="ConfiguringVersion5Transports-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="ConfiguringVersion5Transports-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="ConfiguringVersion5Transports-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="ConfiguringVersion5Transports-TheStompTransport">The Stomp 
Transport</h3><p>A plain text transport that can be used with many lan
 guages. See&#160;<a shape="rect" href="stomp.html">Stomp</a> for more 
details.</p><h2 id="ConfiguringVersion5Transports-GeneralPurposeURIs">General 
Purpose URIs</h2><p>You can configure other features via the URI syntax as 
follows...</p><h3 
id="ConfiguringVersion5Transports-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="ConfiguringVersion5Transport
 s-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="ConfiguringVersion5Transports-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="ConfiguringVersion5Transports-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="ConfiguringVersion5Transports-HighLevelProtocolURIs">High Level Protocol 
URIs</h2><p>The following higher level protocols can be configured via 
URI</p><h3 id="ConfiguringVersion5Transports-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="ConfiguringVersion5Transports-TheFanoutTransport">Th
 e 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="ConfiguringVersion5Transports-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="ConfiguringVersion5Transports-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 informatio
 n see the <a shape="rect" href="discovery-transport-reference.html">Discovery 
Transport Reference</a></p><h3 
id="ConfiguringVersion5Transports-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="ConfiguringVersion5Transports-Serversideoptions">Server side 
options</h3><p>There are a number of options that can be used for changing 
behavior on the server for 
the&#160;<strong><code>TransportConnector</code></strong> in the ActiveMQ 
broker configurati
 on. These are:</p><div class="table-wrap"><table 
class="confluenceTable"><colgroup span="1"><col span="1"><col span="1"><col 
span="1"></colgroup><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><span style="color: red;"> <span 
style="color: rgb(0,0,0);"><code>allowLinkStealing</code></span><br 
clear="none"></span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>This is enabled for default for MQTT 
transport.</p><p>Link Stealing is where the last of two or more connections 
with the same id (clientID for JMS) is deemed the valid connection and the 
older one is closed by the broker.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>discove
 ryURI</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>If set, the multicast discovery address for client 
connections to find the broker.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>enableStatusMonitor</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></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><code>name</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The name of 
the&#160;<strong><code>TransportConnector</code></strong> 
instance.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>rebalanceClusterClients</code></p></td><td 
colspan="1" rowspan="1" class="confluenc
 eTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Will automatically re-balance clients across the 
cluster on changes of topology.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>updateClusterClients</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>If enabled, will update client 
connections (if they use the&#160;<strong><code>failover://</code></strong> 
transport) of changes to the broker cluster.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>updateClusterClientsOnRemove</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></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><code>updateClusterFilter</code></p></td><td colspan="1
 " rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Comma separated list of regular 
expressions. Brokers with a name matching the pattern will be included for 
client updates.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>uri</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>null</code></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 
class="p1"><code><span class="s1">warnOnRemoteClose</span></code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><code>false</code></td><td 
colspan="1" rowspan="1" class="confluenceTd">If set, issue a WARN log event if 
a client closes its connection in an abrupt manner, one example being a 
load-balancer health check. For a regular JMS client this WARN message is 
indicative of a client going away without a connection
 .close (5.16)</td></tr></tbody></table></div><p>Example configuration:</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+<pre class="brush: xml; gutter: false; theme: Default">&lt;broker&gt;
 &#160;&#160; &lt;!-- ... --&gt;
 
 &#160;&#160; &lt;transportConnectors&gt;


Reply via email to