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 2017/06/15 17:23:10 UTC

svn commit: r1014097 - in /websites/production/activemq/content: cache/main.pageCache configurable-ioexception-handling.html

Author: buildbot
Date: Thu Jun 15 17:23:10 2017
New Revision: 1014097

Log:
Production update by buildbot for activemq

Modified:
    websites/production/activemq/content/cache/main.pageCache
    websites/production/activemq/content/configurable-ioexception-handling.html

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

Modified: websites/production/activemq/content/configurable-ioexception-handling.html
==============================================================================
--- websites/production/activemq/content/configurable-ioexception-handling.html (original)
+++ websites/production/activemq/content/configurable-ioexception-handling.html Thu Jun 15 17:23:10 2017
@@ -90,7 +90,7 @@
       ...
     </broker>
 </pre>
-</div></div><p>Handler configuration properties:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Property</p></th><th colspan="1" rowspan="1" class="confluenceTh">Since</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>ignoreAllErrors</code></p></td><td colspan="1" rowspan="1" class="confluenceTd">5.4</td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>When <code>true</code> all errors are ignored and the broker remains running.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>ignoreNoSpaceErrors</code></p></td><td colspan="1" rowspan="1" class="confluenceTd">5.4</td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p><
 /td><td colspan="1" rowspan="1" class="confluenceTd"><p>When <code>false</code> 'no disk space' errors are treated the same as other errors causing the broker to be stopped.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>noSpaceMessage</code></p></td><td colspan="1" rowspan="1" class="confluenceTd">5.4</td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>space</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The string used to match against the exception's message. When matched a 'no disk space' error results.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: rgb(0,0,0);"><code>ignoreSQLExceptions</code></span></p></td><td colspan="1" rowspan="1" class="confluenceTd">5.5</td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If <code>true</code> all SQLExceptions are ignored by the handler allowing them to be han
 dled by the persistence adapter's locker. When <code>false</code> the exception handler processes the exception.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: rgb(0,0,0);"><code>sqlExceptionMessage</code></span></p></td><td colspan="1" rowspan="1" class="confluenceTd">5.5</td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>""</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The SQLException phrase to match when ignoring SQLExceptions. Only matched exceptions are ignored. All SQLExceptions match the default empty string.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: rgb(0,0,0);"><code>stopStartConnectors</code></span></p></td><td colspan="1" rowspan="1" class="confluenceTd">5.5</td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>When <code>true</code> transport connectors are stopped (clien
 t connections are refused), however, the broker will remain running. The transport connectors will be restarted following a successful persistence adapter checkpoint. All exceptions are ignored whilst the transport connectors are stopped. This option ensures that the broker does not need to be manually restarted in the event of a DB restart, for example.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: rgb(0,0,0);"><code>resumeCheckSleepPeriod</code></span></p></td><td colspan="1" rowspan="1" class="confluenceTd">5.5</td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>5sec</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The interval between persistence adapter checkpoints. Typically used in conjunction with <code>stopStartConnectors</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: rgb(0,0,0);">systemExitOnShutdown</span></p></td><td colspan="1" rowspan="1" class="conf
 luenceTd">5.13</td><td colspan="1" rowspan="1" class="confluenceTd">false</td><td colspan="1" rowspan="1" class="confluenceTd"><span style="color: rgb(0,0,0);">before stopping the broker, set the broker attribute <span style="line-height: 1.42857;">systemExitOnShutdown to this value to potentially force a jvm exit. </span></span></td></tr></tbody></table></div><p><span style="color: rgb(0,0,0);">The default configuration will try to find a specified string in the exception message to determine whether it is a 'no disk space' error. On most platforms (at least those we have tested), you'll find the word 'space' in it. Of course, you can customize this to your platform by using <code style="line-height: 1.42857;">noSpaceMessage</code> property.</span></p><p>Note: as of ActiveMQ 5.11 the <code>JDBCIOExceptionHandler</code> has been deprecated. It has been replaced by the <code>org.apache.activemq.util.LeaseLockerIOExceptionHandler</code> that will work with any persistence adapter that
  supports pluggable storage lockers whether or not a locker is in use.</p><p>Note: as of ActiveMQ 5.15 there is a <code>kahaDBIOExceptionHandler</code> that will re-enable kahaDB for write operations if the broker needs to stay up; <code>ignoreAllErrors|ignoreNoSpace|stopStartConnectors=true</code>. For auto recovery on restart kahaDB can only deal with one partial write to the index and to sync partial writes to the journal. If the broker stays active, the in memory state can be consistent but auto recovery may be compromised. For auto recovery having an abortive shutdown similar to a kill -9 process termination, is best.</p><h2 id="ConfigurableIOExceptionHandling-Writingyourownhandler">Writing your own handler</h2><p>In case this handler doesn't work for you, you can write your own. For example you might want to change the way how you detect full disk and execute some external command, like <code>df</code> on Linux to be sure.</p><p>All you have to do is implement the <code>org.ap
 ache.activemq.util.IOExceptionHandler</code> interface then configure the broker to use it:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Handler configuration properties:</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Property</p></th><th colspan="1" rowspan="1" class="confluenceTh">Since</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>ignoreAllErrors</code></p></td><td colspan="1" rowspan="1" class="confluenceTd">5.4</td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>When <code>true</code> all errors are ignored and the broker remains running.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>ignoreNoSpaceErrors</code></p></td><td colspan="1" rowspan="1" class="confluenceTd">5.4</td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p><
 /td><td colspan="1" rowspan="1" class="confluenceTd"><p>When <code>false</code> 'no disk space' errors are treated the same as other errors causing the broker to be stopped.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>noSpaceMessage</code></p></td><td colspan="1" rowspan="1" class="confluenceTd">5.4</td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>space</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The string used to match against the exception's message. When matched a 'no disk space' error results.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: rgb(0,0,0);"><code>ignoreSQLExceptions</code></span></p></td><td colspan="1" rowspan="1" class="confluenceTd">5.5</td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If <code>true</code> all SQLExceptions are ignored by the handler allowing them to be han
 dled by the persistence adapter's locker. When <code>false</code> the exception handler processes the exception.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: rgb(0,0,0);"><code>sqlExceptionMessage</code></span></p></td><td colspan="1" rowspan="1" class="confluenceTd">5.5</td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>""</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The SQLException phrase to match when ignoring SQLExceptions. Only matched exceptions are ignored. All SQLExceptions match the default empty string.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: rgb(0,0,0);"><code>stopStartConnectors</code></span></p></td><td colspan="1" rowspan="1" class="confluenceTd">5.5</td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>When <code>true</code> transport connectors are stopped (clien
 t connections are refused), however, the broker will remain running. The transport connectors will be restarted following a successful persistence adapter checkpoint. All exceptions are ignored whilst the transport connectors are stopped. This option ensures that the broker does not need to be manually restarted in the event of a DB restart, for example.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: rgb(0,0,0);"><code>resumeCheckSleepPeriod</code></span></p></td><td colspan="1" rowspan="1" class="confluenceTd">5.5</td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>5sec</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The interval between persistence adapter checkpoints. Typically used in conjunction with <code>stopStartConnectors</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: rgb(0,0,0);">systemExitOnShutdown</span></p></td><td colspan="1" rowspan="1" class="conf
 luenceTd">5.13</td><td colspan="1" rowspan="1" class="confluenceTd">false</td><td colspan="1" rowspan="1" class="confluenceTd"><span style="color: rgb(0,0,0);">before stopping the broker, set the broker attribute <span style="line-height: 1.42857;">systemExitOnShutdown to this value to potentially force a jvm exit. </span></span></td></tr></tbody></table></div><p><span style="color: rgb(0,0,0);">The default configuration will try to find a specified string in the exception message to determine whether it is a 'no disk space' error. On most platforms (at least those we have tested), you'll find the word 'space' in it. Of course, you can customize this to your platform by using <code style="line-height: 1.42857;">noSpaceMessage</code> property.</span></p><p>Note: as of ActiveMQ 5.11 the <code>JDBCIOExceptionHandler</code> has been deprecated. It has been replaced by the <code>org.apache.activemq.util.LeaseLockerIOExceptionHandler</code> that will work with any persistence adapter that
  supports pluggable storage lockers whether or not a locker is in use.</p><p><span style="color: rgb(102,0,51);">Writing your own handler</span></p><p>In case this handler doesn't work for you, you can write your own. For example you might want to change the way how you detect full disk and execute some external command, like <code>df</code> on Linux to be sure.</p><p>All you have to do is implement the <code>org.apache.activemq.util.IOExceptionHandler</code> interface then configure the broker to use it:</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 id="ioExceptionHandler" class="com.mycompany.MyIOExceptionHandler"&gt;
         &lt;property name="ignoreAllErrors"&gt;&lt;value&gt;true&lt;/value&gt;&lt;/property&gt;
     &lt;/bean&gt;