activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r996311 - in /websites/production/activemq/content: cache/main.pageCache configuring-wire-formats.html per-destination-policies.html tcp-transport-reference.html
Date Tue, 30 Aug 2016 21:22:14 GMT
Author: buildbot
Date: Tue Aug 30 21:22:14 2016
New Revision: 996311

Log:
Production update by buildbot for activemq

Modified:
    websites/production/activemq/content/cache/main.pageCache
    websites/production/activemq/content/configuring-wire-formats.html
    websites/production/activemq/content/per-destination-policies.html
    websites/production/activemq/content/tcp-transport-reference.html

Modified: websites/production/activemq/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.

Modified: websites/production/activemq/content/configuring-wire-formats.html
==============================================================================
--- websites/production/activemq/content/configuring-wire-formats.html (original)
+++ websites/production/activemq/content/configuring-wire-formats.html Tue Aug 30 21:22:14 2016
@@ -71,7 +71,7 @@
 <p></p>
         <div class="top_red_bar">
           <div id="site-breadcrumbs">
-<a href="using-activemq-4.html">Using ActiveMQ 4</a>&nbsp;&gt;&nbsp;<a href="configuring-transports.html">Configuring Transports</a>&nbsp;&gt;&nbsp;<a href="activemq-4-connection-uris.html">ActiveMQ 4 Connection URIs</a>&nbsp;&gt;&nbsp;<a href="configuring-wire-formats.html">Configuring Wire Formats</a>
+<a href="using-activemq.html">Using ActiveMQ</a>&nbsp;&gt;&nbsp;<a href="configuring-transports.html">Configuring Transports</a>&nbsp;&gt;&nbsp;<a href="activemq-connection-uris.html">ActiveMQ Connection URIs</a>&nbsp;&gt;&nbsp;<a href="configuring-wire-formats.html">Configuring Wire Formats</a>
           </div>
           <div id="site-quicklinks">
 <p><a shape="rect" href="download.html">Download</a> | <a shape="rect" class="external-link" href="http://activemq.apache.org/maven/apidocs/index.html">JavaDocs</a> <a shape="rect" href="javadocs.html">More...</a> | <a shape="rect" href="source.html">Source</a> | <a shape="rect" href="discussion-forums.html">Forums</a> | <a shape="rect" href="support.html">Support</a></p>
@@ -82,7 +82,7 @@
   <tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h3 id="ConfiguringWireFormats-TheOpenWireWireFormat">The OpenWire Wire Format</h3><p>OpenWire is the default wire format used by ActiveMQ.&#160; It provides a highly efficient binary format for high speed messaging.&#160; OpenWire options can be configured on a JMS client's connection URI or on a broker's transport bind URI.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Parameter Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>cacheEnabled</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Should commonly repeated values be cached so that less marshaling occurs?</p></td></tr><tr><td colspan="1" rowspan="
 1" class="confluenceTd"><p><code>cacheSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1024</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If&#160;<strong><code>cacheEnabled</code></strong> is true, then this specifies the maximum number of values to cached.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>maxInactivityDuration</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>30000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The maximum <a shape="rect" href="activemq-inactivitymonitor.html">inactivity</a> duration (before which the socket is considered dead) in milliseconds. On some platforms it can take a long time for a socket to die. Therefore allow the broker to kill connections when they have been inactive for the configured period of time.</p><p>Used by some transports to enable a keep alive heart beat feature.</p><p>Inactivity monitoring is disabled when s
 et to a value <strong><code>&lt;= 0</code></strong>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>maxInactivityDurationInitalDelay</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>10000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The initial delay before starting <a shape="rect" href="activemq-inactivitymonitor.html">inactivity</a> checks.</p><p>Yes, the word&#160;<strong><code>'Inital'</code></strong> is supposed to be misspelled like that.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>maxFrameSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MAX_LONG</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Maximum allowed frame size. Can help help prevent OOM DOS attacks.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>prefixPacketSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true<
 /code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Should the size of the packet be prefixed before each packet is marshaled?</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>stackTraceEnabled</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Should the stack trace of exception that occur on the broker be sent to the client?</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>tcpNoDelayEnabled</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Does not affect the wire format, but provides a hint to the peer that TCP nodelay should be enabled on the communications Socket.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>tightEncodingEnabled</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><c
 ode>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Should wire size be optimized over CPU usage?</p></td></tr></tbody></table></div><div class="confluence-information-macro confluence-information-macro-warning"><p class="title">Use the Correct Prefix!</p><span class="aui-icon aui-icon-small aui-iconfont-error confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>Wire format options must have the prefix&#160;<strong><code>wireFormat.</code></strong> to take effect, e.g.,&#160;<strong><code>wireFormat.maxInactivityDuration=10000</code></strong>. Options missing this prefix will be ignored.</p></div></div><h4 id="ConfiguringWireFormats-ExampleConfigurations">Example Configurations</h4><p><strong>Java:</strong></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="wiki-content maincontent"><h3 id="ConfiguringWireFormats-TheOpenWireWireFormat">The OpenWire Wire Format</h3><p>OpenWire is the default wire format used by ActiveMQ.&#160; It provides a highly efficient binary format for high speed messaging.&#160; OpenWire options can be configured on a JMS client's connection URI or on a broker's transport bind URI.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Parameter Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>cacheEnabled</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Should commonly repeated values be cached so that less marshaling occurs?</p></td></tr><tr><td colspan="1" rowspan="
 1" class="confluenceTd"><p><code>cacheSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1024</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>When&#160;<strong><code>cacheEnabled=true</code></strong> then this parameter is used to specify the number of values to be cached.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>maxInactivityDuration</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>30000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The maximum <a shape="rect" href="activemq-inactivitymonitor.html">inactivity</a> duration (before which the socket is considered dead) in milliseconds. On some platforms it can take a long time for a socket to die. Therefore allow the broker to kill connections when they have been inactive for the configured period of time.</p><p>Used by some transports to enable a keep alive heart beat feature.</p><p>Inactivity monitoring is dis
 abled when set to a value <strong><code>&lt;= 0</code></strong>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>maxInactivityDurationInitalDelay</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>10000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The initial delay before starting <a shape="rect" href="activemq-inactivitymonitor.html">inactivity</a> checks.</p><p>Yes, the word&#160;<strong><code>'Inital'</code></strong> is supposed to be misspelled like that.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>maxFrameSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>MAX_LONG</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Maximum allowed frame size. Can help help prevent OOM DOS attacks.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>prefixPacketSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p
 ><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Should the size of the packet be prefixed before each packet is marshaled?</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>stackTraceEnabled</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Should the stack trace of exception that occur on the broker be sent to the client?</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>tcpNoDelayEnabled</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Does not affect the wire format, but provides a hint to the peer that TCP nodelay should be enabled on the communications Socket.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>tightEncodingEnabled</code></p></td><td colspan="1" rowspan="1" class="conflue
 nceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Should wire size be optimized over CPU usage?</p></td></tr></tbody></table></div><div class="confluence-information-macro confluence-information-macro-warning"><p class="title">Use the Correct Prefix!</p><span class="aui-icon aui-icon-small aui-iconfont-error confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>Wire format options must have the prefix&#160;<strong><code>wireFormat.</code></strong> to take effect, e.g.,&#160;<strong><code>wireFormat.maxInactivityDuration=10000</code></strong>. Options missing this prefix will be ignored.</p></div></div><h4 id="ConfiguringWireFormats-ExampleConfigurations">Example Configurations</h4><p><strong>Java:</strong></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;">ActiveMQConnectionFactory cf = new ActiveMQConnectionFactory("tcp://localhost:61616?wireFormat.cacheEnabled=false&amp;wireFormat.tightEncodingEnabled=false");
 </pre>
 </div></div><p><strong>Spring:</strong></p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">

Modified: websites/production/activemq/content/per-destination-policies.html
==============================================================================
--- websites/production/activemq/content/per-destination-policies.html (original)
+++ websites/production/activemq/content/per-destination-policies.html Tue Aug 30 21:22:14 2016
@@ -81,7 +81,7 @@
   <tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><p>We support a number of different policies which can be attached to individual destinations (queues, topics) or to wildcards of queue/topic hierarchies. This makes it easy to configure how different regions of the JMS destination space are handled.</p><p>The properties you can set on a Destination are as follows:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Common Property</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>producerFlowControl</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If <strong><code>true</code></strong> the broker will throttle (flow-control) the producer. Throttling is achieved eith
 er by withholding the producer's ACK or by raising a&#160;<strong><code>javax.jms.ResourceAllocationException</code></strong> (that's propagated back to the client) when local resources e.g., memory and/or storage, have been exhausted.</p><p>If&#160;<strong><code>false</code></strong> excess messages will be written to the message store to prevent memory exhaustion. However, when the message store reaches capacity the producer will be throttled until resources are freed.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>enableAudit</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>When&#160;<strong><code>true</code></strong> the broker will track duplicate messages. Duplicates can happen for non-persistent messages during failover.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>useCache</code></p></td><td colspan="1" rowspan="1" class="c
 onfluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If&#160;<strong><code>true</code></strong> persistent messages are cached for fast retrieval from store.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>maxPageSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>200</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The maximum number of messages to page in from the store at one time. Increase this value to improve performance for queue destination's that contain grouped messages that are consumed by multiple concurrent consumers.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>maxBrowsePageSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>400</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The maximum number of messages to page in from the store at one time for a browser.</p></td></tr><tr><td colspa
 n="1" rowspan="1" class="confluenceTd"><p><code>memoryLimit</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>n/a</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The memory limit (in bytes) of the destination's cursor.</p><p>This memory limit is subordinate to the system level memory limit, as specified by the&#160;<a shape="rect" href="producer-flow-control.html"><code>&lt;systemUsage&gt;/&lt;memoryUsage&gt;</code></a> <span class="confluence-link">attribute</span>. There is no default for this value; it simply acts as a child to the overall broker memory until the broker memory is exhausted.</p><p><strong>Note</strong>: when this limit is specified the destination's&#160;<strong><code>cursorMemoryHighWaterMark</code></strong> will be applied against it and not the&#160;<strong><code>&lt;systemUsage&gt;/&gt;&lt;memoryUsage&gt;</code></strong> memory limit.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>minimumMes
 sageSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1024</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For non-serialized messages (embedded broker) - the assumed size of the message used for memory usage calculation. Serialized messages use the serialized size as the basis for the memory calculation.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>cursorMemoryHighWaterMark</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>70</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The percentage (%) threshold applied either to the&#160;<strong><code>&lt;systemUsage&gt;/&lt;memoryUsage&gt;</code></strong> or the destination's&#160;<strong><code>memoryLimit</code></strong> (when defined) which when exceeded will cause the destination's cursor to either block or write to disk.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>storeUsageHighWaterMark</
 code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>100</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The percentage (%) threshold of the&#160;<strong><code>&lt;systemUsage&gt;/&lt;storeUsage&gt;</code></strong> store limit which when exceeded causes a send to block.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>prioritizedMessages</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Persist message priority information.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>advisoryForConsumed</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Send an advisory message when a message is consumed by a client.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>advisoryForDelivery</code></
 p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Send an advisory message when a message is sent to a client.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>advisoryForSlowConsumers</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Send an advisory message if a consumer is deemed slow.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>advisoryForFastProducers</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Send an advisory message if a producer is deemed fast.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>advisoryWhenFull</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspa
 n="1" rowspan="1" class="confluenceTd"><p>Send an advisory message when a limit (memory, store, temp disk) is full.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>includeBodyForAdvisory</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Includes the body of the original message that triggered the advisory as part of the&#160;<strong><code>dataStructure</code></strong> field in the advisory message (where applicable). Normally the message body is cleared.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>gcInactiveDestinations</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Garbage collect inactive destinations.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>inactiveTimoutBeforeGC</code></p></td><td colspan="1" row
 span="1" class="confluenceTd"><p><code>5000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The timeout (in ms) after which a destination is considered inactive.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span><code>usePrefetchExtension</code><br clear="none"></span></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The prefetch extension is used when a&#160;message is delivered but not ACK'ed, such that the broker can dispatch&#160;another message, e.g., <code>prefetch == 0</code>, the idea being that there will always be prefetch number of messages pending. It also allows a transaction batch to exceed the prefetch&#160;value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>slowConsumerStrategy</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="con
 fluenceTd"><p>Sets the strategy for handling slow consumers. See <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/policy/AbortSlowConsumerStrategy.java">abortSlowConsumerStrategy.</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>maxDestinations</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>-1</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>(v5.12) If&#160;<strong><code>0</code></strong> or greater, sets the maximum number of destinations that can be created. This parameter is intended to limit the number of hierarchical destinations that can be created under a wildcard destination.</p></td></tr></tbody></table></div><p>Additional properties for a Queue</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Queue only property</p></th><th col
 span="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>useConsumerPriority</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Use the priority of a consumer when dispatching messages from a Queue.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>strictOrderDispatch</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&#160;<strong><code>true</code></strong> queue will not round robin consumers, but it'll use a single one until its prefetch buffer is full.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>optimizedDispatch</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false
 </code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Don't use a separate thread for dispatching from a Queue.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>lazyDispatch</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Only page in from store the number of messages that can be dispatched at time.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>consumersBeforeDispatchStarts</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>When the first consumer connects, wait for specified number of consumers before message dispatching starts.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>timeBeforeDispatchStarts</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="
 1" rowspan="1" class="confluenceTd"><p>When the first consumer connects, wait for specified time (in ms) before message dispatching starts.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>queuePrefetch</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>n/a</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sets the prefetch for consumers that are using the default value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>expireMessagesPeriod</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>30000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The period (in ms) of checks for message expiry on queued messages, value of 0 disables.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>persistJMSRedelivered</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="c
 onfluenceTd"><p>(v 5.10) If true, before a persistent message is dispatched by the broker for the first time, the message is rewritten to reflect the possible delivery.</p><p>This ensures the message&#160;<strong><code>JMSRedelivered</code></strong> header is a reliable indication of possible duplicate delivery.</p></td></tr></tbody></table></div><p>Additional properties for a Topic</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Topic only property</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>topicPrefetch</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>n/a</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sets the prefetch for topic consumers that are using the default value.</p></td></tr><tr><t
 d colspan="1" rowspan="1" class="confluenceTd"><p><code>durableTopicPrefetch</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>n/a</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sets the prefetch for durable topic consumers that are using the default value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>advisoryForDiscardingMessages</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Send an advisory when a message is discarded from a non durable subscription.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: rgb(0,0,0);"><code>alwaysRetroactive</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>Makes all subscribers retroactive negating the need to modify the clien
 ts to enable this feature.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: rgb(0,0,0);"><code>expireMessagesPeriod</code><br clear="none"></span></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>30000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The interval (in ms) between message expiration checks on inactive durable subscribers.</p><p><strong>Note</strong>: set to <strong><code>0</code></strong> to disable message expiration checking.</p></td></tr></tbody></table></div><p><span style="line-height: 1.4285715;">The following are examples of different policies that can be customized on a per destination basis:</span></p><ul><li><a shape="rect" href="dispatch-policies.html">Dispatch Policies</a></li></ul><p>Here is an <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/activemq/trunk/activemq-unit-tests/src/test/resources/org/apache/activemq/xbean/activemq-policy.xml">example</a> o
 f this in use:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="wiki-content maincontent"><p>We support a number of different policies which can be attached to individual destinations (queues, topics) or to wildcards of queue/topic hierarchies. This makes it easy to configure how different regions of the JMS destination space are handled.</p><p>The properties you can set on a Destination are as follows:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Common Property</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>advisoryForConsumed</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Send an advisory message when a message is consumed by a client.</p></td></tr><tr><td colspan="1" rowspan="1" class="c
 onfluenceTd"><p><code>advisoryForDelivery</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Send an advisory message when a message is sent to a client.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>advisoryForFastProducers</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Send an advisory message if a producer is deemed fast.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>advisoryForSlowConsumers</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Send an advisory message if a consumer is deemed slow.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>advisoryWhenFull</code></p></td><td colspan="1" rowspan="1" class="conf
 luenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Send an advisory message when a limit (memory, store, temp disk) is full.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>cursorMemoryHighWaterMark</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>70</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The percentage (%) threshold applied either to the&#160;<strong><code>&lt;systemUsage&gt;/&lt;memoryUsage&gt;</code></strong> or the destination's&#160;<strong><code>memoryLimit</code></strong> (when defined) which when exceeded will cause the destination's cursor to either block or write to disk.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>enableAudit</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>When&#160;<strong><code>true</code></strong> the broker 
 will track duplicate messages. Duplicates can happen for non-persistent messages during failover.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>gcInactiveDestinations</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Garbage collect inactive destinations.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>inactiveTimoutBeforeGC</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>5000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The timeout (in ms) after which a destination is considered inactive.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>includeBodyForAdvisory</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Includes the body of the original message that triggered th
 e advisory as part of the&#160;<strong><code>dataStructure</code></strong> field in the advisory message (where applicable). Normally the message body is cleared.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>maxBrowsePageSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>400</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The maximum number of messages to page in from the store at one time for a browser.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>maxDestinations</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>-1</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>(v5.12) If&#160;<strong><code>0</code></strong> or greater, sets the maximum number of destinations that can be created. This parameter is intended to limit the number of hierarchical destinations that can be created under a wildcard destination.</p></td></tr><tr><td colspan="1"
  rowspan="1" class="confluenceTd"><p><code>maxPageSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>200</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The maximum number of messages to page in from the store at one time. Increase this value to improve performance for queue destination's that contain grouped messages that are consumed by multiple concurrent consumers.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>memoryLimit</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>n/a</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The memory limit (in bytes) of the destination's cursor.</p><p>This memory limit is subordinate to the system level memory limit, as specified by the&#160;<a shape="rect" href="producer-flow-control.html"><code>&lt;systemUsage&gt;/&lt;memoryUsage&gt;</code></a> <span class="confluence-link">attribute</span>. There is no default for this value; it
  simply acts as a child to the overall broker memory until the broker memory is exhausted.</p><p><strong>Note</strong>: when this limit is specified the destination's&#160;<strong><code>cursorMemoryHighWaterMark</code></strong> will be applied against it and not the&#160;<strong><code>&lt;systemUsage&gt;/&gt;&lt;memoryUsage&gt;</code></strong> memory limit.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>minimumMessageSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1024</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For non-serialized messages (embedded broker) - the assumed size of the message used for memory usage calculation. Serialized messages use the serialized size as the basis for the memory calculation.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>prioritizedMessages</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colsp
 an="1" rowspan="1" class="confluenceTd"><p>Persist message priority information.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>producerFlowControl</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If <strong><code>true</code></strong> the broker will throttle (flow-control) the producer. Throttling is achieved either by withholding the producer's ACK or by raising a&#160;<strong><code>javax.jms.ResourceAllocationException</code></strong> (that's propagated back to the client) when local resources e.g., memory and/or storage, have been exhausted.</p><p>If&#160;<strong><code>false</code></strong> excess messages will be written to the message store to prevent memory exhaustion. However, when the message store reaches capacity the producer will be throttled until resources are freed.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>slowCo
 nsumerStrategy</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sets the strategy for handling slow consumers. See <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/policy/AbortSlowConsumerStrategy.java">abortSlowConsumerStrategy.</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>storeUsageHighWaterMark</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>100</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The percentage (%) threshold of the&#160;<strong><code>&lt;systemUsage&gt;/&lt;storeUsage&gt;</code></strong> store limit which when exceeded causes a send to block.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>useCache</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><co
 de>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If&#160;<strong><code>true</code></strong> persistent messages are cached for fast retrieval from store.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span><code>usePrefetchExtension</code><br clear="none"></span></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The prefetch extension is used when a&#160;message is delivered but not ACK'ed, such that the broker can dispatch&#160;another message, e.g., <code>prefetch == 0</code>, the idea being that there will always be prefetch number of messages pending. It also allows a transaction batch to exceed the prefetch&#160;value.</p></td></tr></tbody></table></div><p>Additional properties for a Queue</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Queue Only Property</p></th><th col
 span="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>consumersBeforeDispatchStarts</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>When the first consumer connects, wait for specified number of consumers before message dispatching starts.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>expireMessagesPeriod</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>30000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The period (in ms) of checks for message expiry on queued messages, value of 0 disables.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>lazyDispatch</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></t
 d><td colspan="1" rowspan="1" class="confluenceTd"><p>Only page in from store the number of messages that can be dispatched at time.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>optimizedDispatch</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Don't use a separate thread for dispatching from a Queue.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>persistJMSRedelivered</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>(v 5.10) If true, before a persistent message is dispatched by the broker for the first time, the message is rewritten to reflect the possible delivery.</p><p>This ensures the message&#160;<strong><code>JMSRedelivered</code></strong> header is a reliable indication of possible duplicate delivery.</p></td></tr><tr><td colsp
 an="1" rowspan="1" class="confluenceTd"><p><code>queuePrefetch</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>n/a</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sets the prefetch for consumers that are using the default value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>strictOrderDispatch</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&#160;<strong><code>true</code></strong> queue will not round robin consumers, but it'll use a single one until its prefetch buffer is full.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>timeBeforeDispatchStarts</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>When the first consumer connects, wait for specified time (in ms) before message dispatching start
 s.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>useConsumerPriority</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Use the priority of a consumer when dispatching messages from a Queue.</p></td></tr></tbody></table></div><p>Additional properties for a Topic</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Topic Only Property</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>advisoryForDiscardingMessages</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Send an advisory when a message is discarded from a non durable subscript
 ion.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: rgb(0,0,0);"><code>alwaysRetroactive</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>Makes all subscribers retroactive negating the need to modify the clients to enable this feature.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>durableTopicPrefetch</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>n/a</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sets the prefetch for durable topic consumers that are using the default value.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: rgb(0,0,0);"><code>expireMessagesPeriod</code><br clear="none"></span></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>30000</code></p></td><td colspan="1" rowspan="1" cla
 ss="confluenceTd"><p>The interval (in ms) between message expiration checks on inactive durable subscribers.</p><p><strong>Note</strong>: set to <strong><code>0</code></strong> to disable message expiration checking.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>topicPrefetch</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>n/a</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sets the prefetch for topic consumers that are using the default value.</p></td></tr></tbody></table></div><p><span style="line-height: 1.4285715;">The following are examples of different policies that can be customized on a per destination basis:</span></p><ul><li><a shape="rect" href="dispatch-policies.html">Dispatch Policies</a></li></ul><p>Here is an <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/activemq/trunk/activemq-unit-tests/src/test/resources/org/apache/activemq/xbean/activemq-policy.xml">example</a> o
 f this in use:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <pre class="brush: xml; gutter: true; theme: Default" style="font-size:12px;">&lt;beans xmlns="http://www.springframework.org/schema/beans" 
        xmlns:amq="http://activemq.apache.org/schema/core"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

Modified: websites/production/activemq/content/tcp-transport-reference.html
==============================================================================
--- websites/production/activemq/content/tcp-transport-reference.html (original)
+++ websites/production/activemq/content/tcp-transport-reference.html Tue Aug 30 21:22:14 2016
@@ -72,19 +72,13 @@
   <tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h3 id="TCPTransportReference-TheTCPTransport">The TCP Transport</h3><p>The TCP transport allows clients to connect to a remote ActiveMQ broker using a TCP socket. These configuration options can be used to tune the underlying TCP transport on either the client-side using the JMS client's connection URI string or on a broker's transport connector URI.</p><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Use Correct Prefix!</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body">The options below should be prefixed with <code><strong>transport.*</strong></code> when used on a broker's transport connector definition. On the client-side, however, the <strong><code>transport.*</code></strong> prefix <em>must</em> be omitted.</div></div><h4 id="TCPTransportReference-ConfigurationSyntax">Configuration Syntax</h4>
 <p><code><strong>tcp://hostname:port?key=value</strong></code></p><h5 id="TCPTransportReference-Examples">Examples</h5><p>Broker side (in&#160;<strong><code>TransportConnector</code></strong>):</p><div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
+<div class="wiki-content maincontent"><h3 id="TCPTransportReference-TheTCPTransport">The TCP Transport</h3><p>The TCP transport allows clients to connect to a remote ActiveMQ broker using a TCP socket. These configuration options can be used to tune the underlying TCP transport on either the client-side using the JMS client's connection URI string or on a broker's transport connector URI.</p><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Use Correct Prefix!</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>The options below should be prefixed with <code><strong>transport.*</strong></code> when used on a broker's transport connector definition. On the client-side, however, the <strong><code>transport.*</code></strong> prefix <em>must</em> be omitted.</p></div></div><h4 id="TCPTransportReference-ConfigurationSyntax">Configuration Synt
 ax</h4><p><code><strong>tcp://hostname:port?key=value</strong></code></p><h5 id="TCPTransportReference-Examples">Examples</h5><p>Broker side (in&#160;<strong><code>TransportConnector</code></strong>):</p><div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
 <pre>tcp://localhost:61616?transport.threadName&amp;transport.trace=false&amp;transport.soTimeout=60000
 </pre>
 </div></div><p>Client side (in&#160;<strong><code>brokerURL</code></strong>):</p><div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
 <pre>tcp://localhost:61616?threadName&amp;trace=false&amp;soTimeout=60000
 </pre>
-</div></div><h5 id="TCPTransportReference-TransportOptions">Transport Options</h5><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Option Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>backlog</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>5000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the maximum number of connections waiting to be accepted by the transport server socket.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>closeAsync</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If <strong><code>true</code></strong> the socket close call happens asynchronousl
 y. This parameter should be set to <strong><code>false</code></strong> for protocols like STOMP, that are commonly used in situations where a new connection is created for each read or write. Doing so ensures the socket close call happens synchronously. A synchronous close prevents the broker from running out of available sockets owing to the rapid cycling of connections.&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>connectionTimeout</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>30000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If <strong><code>&gt;=1</code></strong> the value sets the connection timeout in milliseconds. A value of <strong><code>0</code></strong> denotes no timeout. Negative values are ignored.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>daemon</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 <strong><code>true</code></strong> the transport thread will run in daemon mode. Set this parameter to <strong><code>true</code></strong> when embedding the broker in a Spring container or a web container to allow the container to shut down correctly.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>diffServ</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>(Client only) The preferred Differentiated Services traffic class to be set on outgoing packets, as described in RFC 2475. Valid integer values: <strong><code>[0,64]</code></strong>. Valid string values: <strong><code>EF</code>, <code>AF[1-3][1-4]</code></strong> or <strong><code>CS[0-7]</code></strong>.</p><p>With JDK 6, only works when the JVM uses the IPv4 stack. To use the IPv4 stack set the system property <strong><code><a shape="rect" class="external-link" href="http:
 //java.net" rel="nofollow">java.net</a>.preferIPv4Stack=true</code></strong>.</p><p><strong>Note</strong>: it's invalid to specify both <strong><code>diffServ</code></strong> and <strong><code>typeOfService</code></strong> since they share the same position in the TCP/IP packet headers.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>dynamicManagement</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 <strong><code>true</code></strong> the <strong><code>TransportLogger</code></strong> can be managed by JMX.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>ioBufferSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>8 * 1024</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the size of the buffer to be used between the TCP layer and the OpenWire layer where <strong><code>wireFormat</c
 ode></strong> based marshaling occurs.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>jmxPort</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1099</code></p></td><td colspan="1" rowspan="1" class="confluenceTd" style="text-align: left;"><p>Specifies the port that will be used by the JMX server to manage the <strong><code>TransportLoggers</code></strong>. This should only be set in an URI by a client (producer or consumer) since a broker will already create a JMX server. Specifying an alternate JMX port useful for developers that test a broker and client on the same machine and need to control both via JMX. In such cases a different JMX port is needed.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>keepAlive</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 <strong><code>true</code>, </strong>enables <a sha
 pe="rect" class="external-link" href="http://tldp.org/HOWTO/TCP-Keepalive-HOWTO/overview.html" rel="nofollow">TCP KeepAlive</a> on the broker connection to prevent connections from timing out at the TCP level. This should <em>not</em> be confused with <strong><code>KeepAliveInfo</code></strong> messages as used by the <strong><code>InactivityMonitor</code>.</strong></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>logWriterName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>default</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sets the name of the <strong><code>org.apache.activemq.transport.LogWriter</code></strong> implementation to use. Names are mapped to classes in the <strong><code>resources/META-INF/services/org/apache/activemq/transport/logwriters</code></strong> directory.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>maximumConnections</code></p></td><td colspan="1" rowspan
 ="1" class="confluenceTd"><p><code>Integer.MAX_VALUE</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The maximum number of sockets allowed for this broker.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>minmumWireFormatVersion</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The minimum remote <strong><code>wireFormat</code></strong> version that will be accepted (note the misspelling). A value of <code><strong>0</strong></code> denotes no checking of the remote <strong><code>wireFormat</code></strong> version.</p><p>Note: if the remote <strong><code>wireFormat</code></strong> version is lower than the configured minimum acceptable version an exception is thrown and the connection attempt is refused.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>socketBufferSize</code></p></td><td colspan="1" rowspan="1" class="confl
 uenceTd"><p><code>64 * 1024</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sets the size in bytes for the accepted socket's read and write buffers.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>soLinger</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Integer.MIN_VALUE</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sets the socket's option <strong><code>soLinger</code></strong> when the value is <strong><code>&gt; -1</code></strong>. When the value is <code>-1</code> the <strong><code>soLinger</code></strong> socket option is disabled. <strong>Since ActiveMQ 5.6.0</strong>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>soTimeout</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sets the socket's read timeout in milliseconds. A value of <code><strong>0</strong></code> denot
 es no timeout.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>soWriteTimeout</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sets the socket's write timeout in milliseconds. If the socket write operation does not complete before the specified timeout, the socket will be closed. A value of <strong>0</strong> denotes no timeout.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>stackSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Set the stack size of the transport's background reading thread. Must be specified in multiples of <code>128K</code>. A value of <code><strong>0</strong></code> indicates that this parameter is ignored.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>startLogging</code></p></td><td colspan="
 1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If <strong><code>true</code></strong> the <strong><code>TransportLogger</code></strong> object of the Transport stack&#160;will initially write messages to the log. This parameter is only used when <strong><code>trace</code></strong> is <strong><code>true</code></strong>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>tcpNoDelay</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 <strong><code>true</code></strong> the socket's option&#160;<strong><code>TCP_NODELAY</code></strong> is set. This disables Nagle's algorithm for small packet transmission.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>threadName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>N/A</code></p></td><td colspan="1" rowsp
 an="1" class="confluenceTd"><p>When this parameter is specified the name of the thread is modified during the invocation of a transport. The remote address is appended so that a call stuck in a transport method will have the destination information in the thread name. This is extremely useful for thread dumps when debugging.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>trace</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Causes all commands that are sent over the transport to be logged.</p><p>To view the logged output define the <strong><code>Log4j</code></strong> logger: <strong><code>log4j.logger.org.apache.activemq.transport.TransportLogger=DEBUG</code></strong>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>trafficClass</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1"
  rowspan="1" class="confluenceTd"><p>The Traffic Class to be set on the socket.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>typeOfService</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>(Client only) The preferred Type of Service value to be set on outgoing packets. Valid integer values: <strong><code>[0,256]</code></strong>.</p><p>With JDK 6, only works when the JVM is configured to use the IPv4 stack. To use the IPv4 stack set the system property <strong><code><a shape="rect" class="external-link" href="http://java.net" rel="nofollow">java.net</a>.preferIPv4Stack=true</code></strong>.</p><p><strong>Note</strong>: it's invalid to specify both <strong><code>diffServ</code></strong> and <strong><code>typeOfService</code></strong> since they share the same position in the TCP/IP packet headers.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p
 ><code>useInactivityMonitor</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A value of <strong><code>false</code></strong> disables the <code><strong>InactivityMonitor</strong></code> completely and connections will never time out.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>useKeepAlive</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If <strong><code>true</code> <code> KeepAliveInfo</code></strong> messages are sent on an idle connection to prevent it from timing out. If this parameter is <strong><code>false</code></strong> connections will still timeout if no data was received on the connection for the specified amount of time.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>useLocalHost</code></p></td><td colspan="1" rowspan="1" cla
 ss="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If <strong><code>true</code></strong> the value <strong><code>localhost</code></strong> will be instead of the actual local host name to make local connections. On some operating systems such as <code>OS X</code> it's not possible to connect as the local host name so <strong><code>localhost</code></strong> is better.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>useQueueForAccept</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If <strong><code>true</code></strong> accepted sockets are placed onto a queue for asynchronous processing using a separate thread.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>wireFormat</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>default</code></p></td><td colspan="1" rowspan="1
 " class="confluenceTd"><p>The name of the <strong><code>WireFormat</code></strong> factory to use.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>wireFormat.*</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>N/A</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Properties with this prefix are used to configure the <strong><code>wireFormat</code>. See </strong><a shape="rect" href="configuring-wire-formats.html">Configuring Wire Formats</a> for more information.</p></td></tr></tbody></table></div><h5 id="TCPTransportReference-ExampleURI">Example URI</h5><p>On Server side (in TransportConnector):</p><p>&#160;</p><div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
-<pre>tcp://localhost:61616?transport.threadName&amp;transport.trace=false&amp;transport.soTimeout=60000
-</pre>
-</div></div><p>On Client side:</p><p>&#160;</p><div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
-<pre>tcp://localhost:61616?threadName&amp;trace=false&amp;soTimeout=60000
-</pre>
-</div></div><h5 id="TCPTransportReference-DifferentiatedServicesorTypesofService">Differentiated Services or Types of Service</h5><p>There is support for setting Differentiated Services - as outlined in <a shape="rect" class="external-link" href="http://tools.ietf.org/html/rfc2475" rel="nofollow">IETF RCF 2475</a>. In order to configure the broker so that all outgoing packets from the broker match the DSCP values set on incoming packets - you will need to apply IP Tables scripts - found <a shape="rect" href="tcp-transport-reference.data/brokerConfig.tar.gz?version=1&amp;modificationDate=1273219000000&amp;api=v2" data-linked-resource-id="20873268" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="brokerConfig.tar.gz" data-linked-resource-content-type="application/x-gzip" data-linked-resource-container-id="35993" data-linked-resource-container-version="53">here</a>.</p></div>
+</div></div><h5 id="TCPTransportReference-TransportOptions">Transport Options</h5><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Option Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>backlog</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>5000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the maximum number of connections waiting to be accepted by the transport server socket.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>closeAsync</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If <strong><code>true</code></strong> the socket close call happens asynchronousl
 y. This parameter should be set to <strong><code>false</code></strong> for protocols like STOMP, that are commonly used in situations where a new connection is created for each read or write. Doing so ensures the socket close call happens synchronously. A synchronous close prevents the broker from running out of available sockets owing to the rapid cycling of connections.&#160;</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>connectionTimeout</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>30000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If <strong><code>&gt;=1</code></strong> the value sets the connection timeout in milliseconds. A value of <strong><code>0</code></strong> denotes no timeout. Negative values are ignored.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>daemon</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 <strong><code>true</code></strong> the transport thread will run in daemon mode. Set this parameter to <strong><code>true</code></strong> when embedding the broker in a Spring container or a web container to allow the container to shut down correctly.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>diffServ</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>(Client only) The preferred Differentiated Services traffic class to be set on outgoing packets, as described in RFC 2475. Valid integer values: <strong><code>[0,64]</code></strong>. Valid string values: <strong><code>EF</code>, <code>AF[1-3][1-4]</code></strong> or <strong><code>CS[0-7]</code></strong>.</p><p>With JDK 6, only works when the JVM uses the IPv4 stack. To use the IPv4 stack set the system property <strong><code><a shape="rect" class="external-link" href="http:
 //java.net" rel="nofollow">java.net</a>.preferIPv4Stack=true</code></strong>.</p><p><strong>Note</strong>: it's invalid to specify both <strong><code>diffServ</code></strong> and <strong><code>typeOfService</code></strong> since they share the same position in the TCP/IP packet headers.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>dynamicManagement</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 <strong><code>true</code></strong> the <strong><code>TransportLogger</code></strong> can be managed by JMX.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>ioBufferSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>8 * 1024</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the size of the buffer to be used between the TCP layer and the OpenWire layer where <strong><code>wireFormat</c
 ode></strong> based marshaling occurs.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>jmxPort</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1099</code></p></td><td colspan="1" rowspan="1" class="confluenceTd" style="text-align: left;"><p>Specifies the port that will be used by the JMX server to manage the <strong><code>TransportLoggers</code></strong>. This should only be set in an URI by a client (producer or consumer) since a broker will already create a JMX server. Specifying an alternate JMX port useful for developers that test a broker and client on the same machine and need to control both via JMX. In such cases a different JMX port is needed.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>keepAlive</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 <strong><code>true</code>, </strong>enables <a sha
 pe="rect" class="external-link" href="http://tldp.org/HOWTO/TCP-Keepalive-HOWTO/overview.html" rel="nofollow">TCP KeepAlive</a> on the broker connection to prevent connections from timing out at the TCP level. This should <em>not</em> be confused with <strong><code>KeepAliveInfo</code></strong> messages as used by the <strong><code>InactivityMonitor</code>.</strong></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>logWriterName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>default</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sets the name of the <strong><code>org.apache.activemq.transport.LogWriter</code></strong> implementation to use. Names are mapped to classes in the <strong><code>resources/META-INF/services/org/apache/activemq/transport/logwriters</code></strong> directory.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>maximumConnections</code></p></td><td colspan="1" rowspan
 ="1" class="confluenceTd"><p><code>Integer.MAX_VALUE</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The maximum number of sockets allowed for this broker.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>minmumWireFormatVersion</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The minimum remote <strong><code>wireFormat</code></strong> version that will be accepted (note the misspelling). A value of <code><strong>0</strong></code> denotes no checking of the remote <strong><code>wireFormat</code></strong> version.</p><p>Note: if the remote <strong><code>wireFormat</code></strong> version is lower than the configured minimum acceptable version an exception is thrown and the connection attempt is refused.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>socketBufferSize</code></p></td><td colspan="1" rowspan="1" class="confl
 uenceTd"><p><code>64 * 1024</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sets the size in bytes for the accepted socket's read and write buffers.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>soLinger</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>Integer.MIN_VALUE</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sets the socket's option <strong><code>soLinger</code></strong> when the value is <strong><code>&gt; -1</code></strong>. When the value is <code>-1</code> the <strong><code>soLinger</code></strong> socket option is disabled. <strong>Since ActiveMQ 5.6.0</strong>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>soTimeout</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sets the socket's read timeout in milliseconds. A value of <code><strong>0</strong></code> denot
 es no timeout.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>soWriteTimeout</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Sets the socket's write timeout in milliseconds. If the socket write operation does not complete before the specified timeout, the socket will be closed. A value of <strong>0</strong> denotes no timeout.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>stackSize</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Set the stack size of the transport's background reading thread. Must be specified in multiples of <code>128K</code>. A value of <code><strong>0</strong></code> indicates that this parameter is ignored.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>startLogging</code></p></td><td colspan="
 1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If <strong><code>true</code></strong> the <strong><code>TransportLogger</code></strong> object of the Transport stack&#160;will initially write messages to the log. This parameter is only used when <strong><code>trace</code></strong> is <strong><code>true</code></strong>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>tcpNoDelay</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 <strong><code>true</code></strong> the socket's option&#160;<strong><code>TCP_NODELAY</code></strong> is set. This disables Nagle's algorithm for small packet transmission.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>threadName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>N/A</code></p></td><td colspan="1" rowsp
 an="1" class="confluenceTd"><p>When this parameter is specified the name of the thread is modified during the invocation of a transport. The remote address is appended so that a call stuck in a transport method will have the destination information in the thread name. This is extremely useful for thread dumps when debugging.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>trace</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Causes all commands that are sent over the transport to be logged.</p><p>To view the logged output define the <strong><code>Log4j</code></strong> logger: <strong><code>log4j.logger.org.apache.activemq.transport.TransportLogger=DEBUG</code></strong>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>trafficClass</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1"
  rowspan="1" class="confluenceTd"><p>The Traffic Class to be set on the socket.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>typeOfService</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>(Client only) The preferred Type of Service value to be set on outgoing packets. Valid integer values: <strong><code>[0,256]</code></strong>.</p><p>With JDK 6, only works when the JVM is configured to use the IPv4 stack. To use the IPv4 stack set the system property <strong><code><a shape="rect" class="external-link" href="http://java.net" rel="nofollow">java.net</a>.preferIPv4Stack=true</code></strong>.</p><p><strong>Note</strong>: it's invalid to specify both <strong><code>diffServ</code></strong> and <strong><code>typeOfService</code></strong> since they share the same position in the TCP/IP packet headers.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p
 ><code>useInactivityMonitor</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A value of <strong><code>false</code></strong> disables the <code><strong>InactivityMonitor</strong></code> completely and connections will never time out.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>useKeepAlive</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If <strong><code>true</code> <code> KeepAliveInfo</code></strong> messages are sent on an idle connection to prevent it from timing out.</p><p>If this parameter is <strong><code>false</code></strong> connections will still timeout if no data was received on the connection for the specified amount of time.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>useLocalHost</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 <strong><code>true</code></strong> the value <strong><code>localhost</code></strong> will be instead of the actual local host name to make local connections.</p><p>On some operating systems such as <strong><code>OS X</code></strong> it's not possible to connect as the local host name so <strong><code>localhost</code></strong> is better.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>useQueueForAccept</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If <strong><code>true</code></strong> accepted sockets are placed onto a queue for asynchronous processing using a separate thread.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>wireFormat</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>default</code></p></
 td><td colspan="1" rowspan="1" class="confluenceTd"><p>The name of the <strong><code>wireFormat</code></strong> factory to use.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>wireFormat.*</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>N/A</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Properties with this prefix are used to configure the <strong><code>wireFormat</code></strong>.</p><p>See <a shape="rect" href="configuring-wire-formats.html">Configuring Wire Formats</a> for more information.</p></td></tr></tbody></table></div><p>&#160;</p><h5 id="TCPTransportReference-DifferentiatedServicesorTypesofService">Differentiated Services or Types of Service</h5><p>There is support for setting Differentiated Services - as outlined in <a shape="rect" class="external-link" href="http://tools.ietf.org/html/rfc2475" rel="nofollow">IETF RCF 2475</a>. In order to configure the broker so that all outgoing packets from the bro
 ker match the DSCP values set on incoming packets - you will need to apply IP Tables scripts - found <a shape="rect" href="tcp-transport-reference.data/brokerConfig.tar.gz?version=1&amp;modificationDate=1273219000000&amp;api=v2" data-linked-resource-id="20873268" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="brokerConfig.tar.gz" data-linked-resource-content-type="application/x-gzip" data-linked-resource-container-id="35993" data-linked-resource-container-version="56">here</a>.</p></div>
         </td>
         <td valign="top">
           <div class="navigation">



Mime
View raw message