activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r1008372 - in /websites/production/activemq/content: cache/main.pageCache configurable-ioexception-handling.html
Date Wed, 15 Mar 2017 12:22:59 GMT
Author: buildbot
Date: Wed Mar 15 12:22:59 2017
New Revision: 1008372

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 Wed Mar 15
12:22:59 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 kahaDBIOExceptionHandler that will re-enable kahadb for write
operations if the broker needs to stay up; ignoreAllErrors|ignoreNoSpace=true. 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.e data on disk is best.&#160;</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.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">
+</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">
 <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;



Mime
View raw message