activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r924280 [2/2] - in /websites/production/activemq/content: activemq-4-connection-uris.html cache/main.pageCache configuring-transports.html configuring-version-5-transports.html
Date Wed, 01 Oct 2014 09:21:25 GMT
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 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="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="aui-message problem shadowed information-macro">
+<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="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="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="ConfiguringVersion5Transports-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"
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[
-&lt;broker&gt;
+<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="ConfiguringVersion5Transports-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" 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[&lt;broker&gt;
   ...
   &lt;transportConnectors&gt;
     &lt;transportConnector name=&quot;nio&quot; uri=&quot;nio://0.0.0.0:61616&quot;/&gt;
 
@@ -132,33 +98,15 @@
   ...
 &lt;/broker&gt;
 ]]></script>
-</div></div>
-
-<p>Trying to use nio transport url on the client side will instantiate the regular
TCP transport.</p>
-
-<h3 id="ConfiguringVersion5Transports-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="ConfiguringVersion5Transports-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="ConfiguringVersion5Transports-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="ConfiguringVersion5Transports-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[
-&lt;broker&gt;
+<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[&lt;broker&gt;
   ...
   &lt;transportConnectors&gt;
     &lt;transportConnector name=&quot;nio+ssl&quot; uri=&quot;nio+ssl://0.0.0.0:61616&quot;/&gt;
 
@@ -166,108 +114,8 @@
   ...
 &lt;/broker&gt;
 ]]></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="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>
-
-<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="ConfiguringVersion5Transports-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">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="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 information 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 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[
-&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
behaviour on the server for the TransportConnector in the ActiveMQ broker configuration. These
are:</p><div class="tabl
 e-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 for client
connect
 ions 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>u
 pdateClusterClientsOnRemove</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 the older one is c
 losed 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[&lt;broker&gt;
   ...
   &lt;transportConnectors&gt;
     &lt;transportConnector name=&quot;openwire&quot; uri=&quot;tcp://0.0.0.0:61616&quot;
enableStatusMonitor=&quot;true&quot;/&gt;  



Mime
View raw message