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/09/07 22:22:29 UTC

svn commit: r996896 - in /websites/production/activemq/content: cache/main.pageCache timestampplugin.html

Author: buildbot
Date: Wed Sep  7 22:22:29 2016
New Revision: 996896

Log:
Production update by buildbot for activemq

Modified:
    websites/production/activemq/content/cache/main.pageCache
    websites/production/activemq/content/timestampplugin.html

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

Modified: websites/production/activemq/content/timestampplugin.html
==============================================================================
--- websites/production/activemq/content/timestampplugin.html (original)
+++ websites/production/activemq/content/timestampplugin.html Wed Sep  7 22:22:29 2016
@@ -81,12 +81,13 @@
   <tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><p>The TimeStampPlugin is a Broker interceptor which updates a JMS Client's timestamp on the message with a broker timestamp. This can be useful when the clocks on client machines are known to not be correct and you can only trust the time set on the broker machines.</p><p>Enabling this plugin will break JMS compliance since the timestamp that the producer sees on the messages after as&#160;<strong><code>send()</code></strong> will be different from the timestamp the consumer will observe when he receives the message. This plugin is not enabled in the default ActiveMQ configuration.</p><h4 id="TimeStampPlugin-Options">Options</h4><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p><strong>Attribute</strong></p></th><th colspan="1" rowspan="1" class="confluenceTh"><p><strong>Default Value</strong></p></th><th colspan="1" rowspan="1" class="confluenceTh"><p><strong>Description</stro
 ng></p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>zeroExpirationOverride</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 not zero will override the expiration date for messages that currently do not have an expiration set.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>ttlCeiling</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 not zero will limit the expiration time.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>futureOnly</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 set to true will never set the message time stamp and expiration time to a lower value than the original values. If set to false, they wi
 ll always be updated.</p></td></tr></tbody></table></div><p>You can include the TimeStampPlugin by adding the following to your ActiveMQ Broker configuration:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="wiki-content maincontent"><p>The TimeStampPlugin is a Broker interceptor which updates a JMS Client's time stamp on the message with a broker time stamp. This can be useful when the clocks on client machines are known to not be correct and you can only trust the time set on the broker machines.</p><p>Enabling this plugin will break JMS compliance since the time stamp that the producer sees on the messages after as&#160;<strong><code>send()</code></strong> will be different from the time stamp the consumer will observe when he receives the message.</p><div class="confluence-information-macro confluence-information-macro-information"><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body">By default this plugin is <em>not</em> enabled in ActiveMQ.</div></div><h4 id="TimeStampPlugin-Options">Options</h4><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" row
 span="1" class="confluenceTh"><p><strong>Attribute</strong></p></th><th colspan="1" rowspan="1" class="confluenceTh"><p><strong>Default Value</strong></p></th><th colspan="1" rowspan="1" class="confluenceTh"><p><strong>Description</strong></p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>futureOnly</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>When <strong><code>true</code></strong> the plugin will <em>never</em> set a message's time stamp and expiration time to a value lower than the original values.</p><p>When <strong><code>false</code></strong> the plugin&#160;<em>always</em> update a message's time stamp and expiration time.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>ttlCeiling</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 n
 ot zero, this value (in ms) limit the expiration time.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>zeroExpirationOverride</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 not zero this value (in ms) will override the expiration time for messages that do not have an expiration already set.</p></td></tr></tbody></table></div><p>To enable the TimeStampPlugin add the following to your ActiveMQ Broker configuration.</p><p>Example:</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;plugins&gt;
-    &lt;timeStampingBrokerPlugin/&gt;
+  &lt;!-- 86,400ms = 1 day --&gt;
+  &lt;timeStampingBrokerPlugin ttlCeiling="86400" zeroExpirationOverride="86400"/&gt;
 &lt;/plugins&gt;
 </pre>
-</div></div><p>Note: In case the consumer&#8217;s local clock is running ahead of the broker&#8217;s local clock, messages might not be consumed by your consumer when this plug-in is loaded with default configuration. The consumer could perceive the messages as already expired. <br clear="none"> If the clock difference between broker and consumer is greater than the message expiration time and if the consumer&#8217;s clock is running ahead, then make use of <strong><code>futureOnly="true"</code></strong>. The following <a shape="rect" class="external-link" href="http://tmielke.blogspot.com/2011/01/sync-your-machine-clocks.html" rel="nofollow">blog post</a> has more details.</p></div>
+</div></div><div class="confluence-information-macro confluence-information-macro-information"><p class="title"> Broker/Consumer Clock Synchronization</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>When the consumer&#8217;s local clock is running ahead of the broker&#8217;s local clock then messages might not be consumed by your consumer when this plug-in is loaded with default configuration as the consumer could perceive the messages as already expired.</p><p>If the clock difference between broker and consumer is <em>greater than</em> the message expiration time <em>and</em> if the consumer&#8217;s clock is running ahead, then set <strong><code>futureOnly="true"</code></strong>.</p><p>See the following <a shape="rect" class="external-link" href="http://tmielke.blogspot.com/2011/01/sync-your-machine-clocks.html" rel="nofollow">blog post</a> for more details.</p></div></div></div>
         </td>
         <td valign="top">
           <div class="navigation">