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;


Reply via email to