You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by bu...@apache.org on 2016/08/30 17:22:20 UTC

svn commit: r996289 - in /websites/production/activemq/content: activemq-inactivitymonitor.html cache/main.pageCache configuring-wire-formats.html

Author: buildbot
Date: Tue Aug 30 17:22:20 2016
New Revision: 996289

Log:
Production update by buildbot for activemq

Modified:
    websites/production/activemq/content/activemq-inactivitymonitor.html
    websites/production/activemq/content/cache/main.pageCache
    websites/production/activemq/content/configuring-wire-formats.html

Modified: websites/production/activemq/content/activemq-inactivitymonitor.html
==============================================================================
--- websites/production/activemq/content/activemq-inactivitymonitor.html (original)
+++ websites/production/activemq/content/activemq-inactivitymonitor.html Tue Aug 30 17:22:20 2016
@@ -32,6 +32,15 @@
     </style>
     <![endif]-->
 
+          <link href='http://activemq.apache.org/styles/highlighter/styles/shCore.css' rel='stylesheet' type='text/css' /> 
+      <link href='http://activemq.apache.org/styles/highlighter/styles/shThemeEclipse.css' rel='stylesheet' type='text/css' /> 
+      <script src='http://activemq.apache.org/styles/highlighter/scripts/shCore.js' type='text/javascript'></script> 
+              <script src='http://activemq.apache.org/styles/highlighter/scripts/shBrushXml.js' type='text/javascript'></script> 
+         
+      <script type="text/javascript"> 
+        SyntaxHighlighter.defaults['toolbar'] = false; 
+        SyntaxHighlighter.all(); 
+      </script> 
     
     <title>
     Apache ActiveMQ &#8482; -- ActiveMQ InactivityMonitor
@@ -72,11 +81,9 @@
   <tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h1 id="ActiveMQInactivityMonitor-ActiveMQInactivityMonitor">ActiveMQ InactivityMonitor</h1><p>The ActiveMQ InactivityMonitor is an active thread that checks the connection is still active and if it suspects the connection is not functioning correctly, it closes the connection.</p><p>Connections are monitored by:</p><ul><li>ensuring data is read from the connection during the specified time period (Max Inactivity Duration)</li><li>writing a KeepAliveInfo message to the connection if no <strong>normal</strong> activemq traffic is sent across the connection during the specified time period</li></ul><p>Each connection has two InactivityMonitors associated, one on each end of the connection. The InactivityMonitor expects to receive data on the connection during a specified time period. If <strong>normal</strong> activemq traffic has not been sent across the connection during that period, it expects to receive a KeepAliveInfo message sent by the Inac
 tivityMonitor on the other end of the connection.</p><p>Using the default values; if no data has been written or read from the connection for 30 seconds, the InactivityMonitor kicks in. The InactivityMonitor throws an InactivityIOException and shuts down the transport associated with the connection. This results in the following DEBUG logging:</p><div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
-<pre>2012-06-26 17:13:55,712 | DEBUG | 30000 ms elapsed since last read check. | org.apache.activemq.transport.AbstractInactivityMonitor
-| InactivityMonitor ReadCheck
-2012-06-26 17:13:55,712 | DEBUG | No message received since last read check for tcp:///127.0.0.1:52659! Throwing InactivityIOException. | 
-   org.apache.activemq.transport.AbstractInactivityMonitor | InactivityMonitor ReadCheck
+<div class="wiki-content maincontent"><h1 id="ActiveMQInactivityMonitor-ActiveMQInactivityMonitor">ActiveMQ InactivityMonitor</h1><p>The ActiveMQ InactivityMonitor is an active thread that checks the connection is still active and if it suspects the connection is not functioning correctly, it closes the connection.</p><p>Connections are monitored by:</p><ul><li>ensuring data is read from the connection during the specified time period (Max Inactivity Duration)</li><li>writing a&#160;<strong><code>KeepAliveInfo</code></strong> message to the connection if no <strong>normal</strong> activemq traffic is sent across the connection during the specified time period</li></ul><p>Each connection has two InactivityMonitors associated, one on each end of the connection. The InactivityMonitor expects to receive data on the connection during a specified time period. If <strong>normal</strong> activemq traffic has not been sent across the connection during that period, it expects to receive a&#16
 0;<strong><code>KeepAliveInfo</code></strong> message sent by the InactivityMonitor on the other end of the connection.</p><p>Using the default values; if no data has been written or read from the connection for 30 seconds, the InactivityMonitor kicks in. The InactivityMonitor throws an&#160;<strong><code>InactivityIOException</code></strong> and shuts down the transport associated with the connection. This results in the following&#160;<strong><code>DEBUG</code></strong> logging:</p><div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
+<pre>2012-06-26 17:13:55,712 | DEBUG | 30000 ms elapsed since last read check. | org.apache.activemq.transport.AbstractInactivityMonitor | InactivityMonitor ReadCheck
+2012-06-26 17:13:55,712 | DEBUG | No message received since last read check for tcp:///127.0.0.1:52659! Throwing InactivityIOException. | org.apache.activemq.transport.AbstractInactivityMonitor | InactivityMonitor ReadCheck
 2012-06-26 17:13:55,714 | DEBUG | Transport Connection to: tcp://127.0.0.1:52659 failed: 
 org.apache.activemq.transport.InactivityIOException: Channel was inactive for too (&gt;30000) long: tcp://127.0.0.1:52659 |
 org.apache.activemq.broker.TransportConnection.Transport | InactivityMonitor Async Task: 
@@ -87,13 +94,12 @@ org.apache.activemq.transport.Inactivity
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
     at java.lang.Thread.run(Thread.java:680)
 </pre>
-</div></div><h3 id="ActiveMQInactivityMonitor-HowcantheInactivityMonitorbeconfiguredfurther?">How can the InactivityMonitor be configured further?</h3><p>There are some configuration options to further fine tune the InactivityMonitor. Note, for most use cases the default values are just fine.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh">Parameter</th><th colspan="1" rowspan="1" class="confluenceTh">Default Value</th><th colspan="1" rowspan="1" class="confluenceTh">Description</th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><strong>wireFormat.maxInactivityDuration</strong></td><td colspan="1" rowspan="1" class="confluenceTd">30000 msecs</td><td colspan="1" rowspan="1" class="confluenceTd">Time after with the connection is closed by the broker if no data was received.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><strong>wireFormat.maxInactivityDurationInitalDelay</strong></td><td co
 lspan="1" rowspan="1" class="confluenceTd">10000 msecs</td><td colspan="1" rowspan="1" class="confluenceTd">Specifies the maximum delay before inactivity monitoring is started on the connection. It can be useful if a broker is under load with many connections being created concurrently.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><strong>transport.useInactivityMonitor</strong></td><td colspan="1" rowspan="1" class="confluenceTd">true</td><td colspan="1" rowspan="1" class="confluenceTd">A value of false disables the InactivityMonitor completely and connections will never time out. By default it is enabled.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><strong>transport.useKeepAlive</strong></td><td colspan="1" rowspan="1" class="confluenceTd">true</td><td colspan="1" rowspan="1" class="confluenceTd">Whether or not to send a KeepAliveInfo on an idle connection to prevent it from timing out. Enabled by default. Disabling the keep alive will still make 
 connections time out if no data was received on the connection for the specified amount of time.</td></tr></tbody></table></div><p>&#160;</p><p>These parameters can be specified directly on the client side connection URL, e.g. <strong>tcp://localhost:61616?wireFormat.maxInactivityDuration=30000&#160;</strong>or on the broker's transport connector url.</p><div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
-<pre>&lt;transportConnectors&gt;
+</div></div><h3 id="ActiveMQInactivityMonitor-AdvancedInactivityMonitorConfiguration">Advanced InactivityMonitor Configuration</h3><p>There are some configuration options to further fine tune the InactivityMonitor. Note, for most use cases the default values are just fine.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh">Parameter</th><th colspan="1" rowspan="1" class="confluenceTh">Default Value</th><th colspan="1" rowspan="1" class="confluenceTh">Description</th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>wireFormat.maxInactivityDuration</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>30000</code></td><td colspan="1" rowspan="1" class="confluenceTd">The time, in milliseconds, after which the connection is closed by the broker if no data has been received.</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>wireFormat.maxInactivityDurationInitalDelay</code></td
 ><td colspan="1" rowspan="1" class="confluenceTd"><code>10000</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the maximum delay, in milliseconds, before connection inactivity monitoring is started.</p><p>This can prove useful if a broker is under load with many connections being created concurrently.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>transport.useInactivityMonitor</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>true</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A value of&#160;<strong><code>false</code></strong> disables the InactivityMonitor completely and connections will never time out.</p><p>By default it is enabled.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>transport.useKeepAlive</code></td><td colspan="1" rowspan="1" class="confluenceTd"><code>true</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Determines if a&#160;<strong><code>KeepAl
 iveInfo</code></strong> message should be sent on an idle connection to prevent it from timing out.</p><p>Disabling the keep alive will still make connections time out when no data was received on the connection for the specified amount of time.</p><p>Enabled by default.</p></td></tr></tbody></table></div><p>&#160;</p><p>These parameters can be specified directly on the client side connection URL, e.g. <strong><code>tcp://localhost:61616?wireFormat.maxInactivityDuration=30000</code>, </strong>or on the broker's transport connector URL:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;">&lt;transportConnectors&gt;
   &lt;transportConnector name="openwire" uri="tcp://0.0.0.0:61616?wireFormat.maxInactivityDuration=30000&amp;amp;wireFormat.maxInactivityDurationInitalDelay=10000"/&gt;
-&lt;/transportConnectors&gt; 
-
+&lt;/transportConnectors&gt;
 </pre>
-</div></div><p>&#160;</p><h3 id="ActiveMQInactivityMonitor-WhathappensifthemaxInactivityDurationandmaxInactivityDurationInitalDelayaresettodifferentvaluesoneithersideofthesameconnection?">What happens if the maxInactivityDuration and <strong>maxInactivityDurationInitalDelay</strong> are set to different values on either side of the same connection?</h3><p>At startup the InactivityMonitor negotiates the appropriate maxInactivityDuration and maxInactivityDurationInitalDelay. The shortest duration is taken for the connection.</p><h3 id="ActiveMQInactivityMonitor-CantheInactivityMonitoronaconnectionbedisabled?">Can the InactivityMonitor on a connection be disabled?</h3><p>Setting <strong><strong>transport.useInactivityMonitor</strong>=false </strong>will disable the InactivityMonitor<strong>. </strong>Configuring <strong>wireFormat.maxInactivityDuration=0</strong> will achieve the same result.</p><h3 id="ActiveMQInactivityMonitor-Potentialissuestobeawareof:">Potential issues to be aware
  of:</h3><p><a shape="rect" href="slow-networks-drop-large-messages.html">slow-networks-drop-large-messages</a></p></div>
+</div></div><h3 id="ActiveMQInactivityMonitor-WhathappensifthemaxInactivityDurationandmaxInactivityDurationInitalDelayaresettodifferentvaluesoneithersideofthesameconnection?">What happens if the&#160;<code>maxInactivityDuration</code> and <code>maxInactivityDurationInitalDelay</code> are set to different values on either side of the same connection?</h3><p>At startup the InactivityMonitor negotiates the appropriate&#160;<strong><code>maxInactivityDuration</code></strong> and&#160;<strong><code>maxInactivityDurationInitalDelay</code></strong>. The shortest duration is taken for the connection.</p><h3 id="ActiveMQInactivityMonitor-CantheInactivityMonitoronaconnectionbedisabled?">Can the InactivityMonitor on a connection be disabled?</h3><p>Setting <strong><code>transport.useInactivityMonitor=false</code></strong> will disable the InactivityMonitor<strong>. </strong>Configuring <strong><code>wireFormat.maxInactivityDuration=0</code></strong> will achieve the same result.</p><h3 id="Act
 iveMQInactivityMonitor-Potentialissuestobeawareof:">Potential issues to be aware of:</h3><p><a shape="rect" href="slow-networks-drop-large-messages.html">slow-networks-drop-large-messages</a></p><p>&#160;</p></div>
         </td>
         <td valign="top">
           <div class="navigation">

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 17:22:20 2016
@@ -82,31 +82,14 @@
   <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 that ActiveMQ uses.&#160; It provides a highly efficent binary format for high speed messaging.&#160; OpenWire options can be configured on a JMS client's connection URI string or on a Brokers transport bind URI.</p>
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Parameter Name <br clear="none" class="atl-forced-newline"> </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Default Value <br clear="none" class="atl-forced-newline"> </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Description <br clear="none" class="atl-forced-newline"> </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> stackTraceEnabled <br clear="none" class="atl-forced-newline"> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> true <br clear="none" class="atl-forced-newline"> </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? <br clear="none" class="atl-forced-newline"> </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> tcpNoDelayEnabled <br clear="none" class="atl-forced-newline"> </p></t
 d><td colspan="1" rowspan="1" class="confluenceTd"><p> true <br clear="none" class="atl-forced-newline"> </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. <br clear="none" class="atl-forced-newline"> </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> cacheEnabled </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> true <br clear="none" class="atl-forced-newline"> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Should commonly repeated values be cached so that less marshalling occurs? <br clear="none" class="atl-forced-newline"> </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> tightEncodingEnabled </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> true <br clear="none" class="atl-forced-newline"> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Should wire
  size be optimized over CPU usage ? <br clear="none" class="atl-forced-newline"> </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> prefixPacketSize&#160; </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> true <br clear="none" class="atl-forced-newline"> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Should the size of the packet be prefixed before each packet is marshalled? <br clear="none" class="atl-forced-newline"> </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> maxInactivityDuration </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 30000 </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 appear to die, so we allow the broker to kill connections if they are inactive for a period o
 f time. Use by some transports to enable a keep alive heart beat feature. Set to a value &lt;= 0 to disable inactivity monitoring. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> maxInactivityDurationInitalDelay </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 10000 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The initial delay in starting the maximum <a shape="rect" href="activemq-inactivitymonitor.html">inactivity</a> checks (and, yes, the word 'Inital' is supposed to be misspelled like that) </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> cacheSize </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> 1024 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> If cacheEnabled is true, then this specifies the maximum number of values to cached.  This property was added in ActiveMQ 4.1 </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> maxFrameSize </p></td><td colspan="1"
  rowspan="1" class="confluenceTd"><p> MAX_LONG </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Maximum frame size that can be sent. Can help help prevent OOM DOS attacks </p></td></tr></tbody></table></div>
-
-
-<p>All options for wire formats must be prepended with <code>wireFormat.</code> in order to take effect. Without this proper formatting, the option will have zero effect. </p>
-
-<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">
-<pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;">
-&lt;bean class="org.apache.activemq.ActiveMQConnectionFactory"&gt;
-  &lt;property name="brokerURL" 
-    value="failover:(tcp://localhost:61616?jms.optimizeAcknowledge=false&amp;wireFormat.maxInactivityDuration=30000)" /&gt;
+<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">
+<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">
+<pre class="brush: xml; gutter: false; theme: Default" style="font-size:12px;">&lt;bean class="org.apache.activemq.ActiveMQConnectionFactory"&gt;
+  &lt;property name="brokerURL" value="failover:(tcp://localhost:61616?jms.optimizeAcknowledge=false&amp;wireFormat.maxInactivityDuration=30000)"/&gt;
+  &lt;!-- ...other options... --&gt;
+&lt;/bean&gt; </pre>
 </div></div></div>
         </td>
         <td valign="top">