activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paul Gale (Confluence)" <conflue...@apache.org>
Subject [CONF] Apache ActiveMQ > Configurable IOException Handling
Date Wed, 14 Jan 2015 22:32:00 GMT
<html>
    <head>
        <meta name="viewport" content="width=device-width" />
        <base href="https://cwiki.apache.org/confluence" />
        <style type="text/css">
    body, #email-content, #email-content-inner { font-family: Arial,FreeSans,Helvetica,sans-serif;
}
    body, p, blockquote, pre, code, td, th, li, dt, dd { font-size: 13px; }
    small { font-size: 11px; }

    body { width:100% !important; -webkit-font-smoothing: antialiased; }

    body,
    #email-wrapper { background-color: #f0f0f0; }
    #email-wrapper-inner { padding: 20px; text-align: center; }
    #email-content-inner { background-color: #fff; border: 1px solid #bbb; color: $menuTxtColour;
padding:20px; text-align:left; }
    #email-wrapper-inner > table { width: 100%; }
    #email-wrapper-inner.thin > table { margin: 0 auto; width: 50%; }
    #email-footer { padding: 0 16px 32px 16px; margin: 0; }

    .email-indent { margin: 8px 0 16px 0; }
    .email-comment { margin: 0 0 0 56px; }
    .email-comment.removed { background-color: #ffe7e7; border: 1px solid #df9898; padding:
0 8px;}

    #email-title-avatar { text-align: left; vertical-align: top; width: 48px; padding-right:
8px; }
    #email-title-flavor { margin: 0; padding: 0 0 4px 0; }
    #email-title-heading { font-size: 16px; line-height: 20px; min-height: 20px; margin: 0;
padding: 0; }
    #email-title .icon { border: 0; padding: 0 5px 0 0; text-align: left; vertical-align:
middle; }

    #email-actions { border-top: 1px solid #bbb; color: #505050; margin: 8px 0 0 0; padding:
0; }
    #email-actions td { padding-top: 8px; }
    #email-actions .left { max-width: 45%; text-align: left; }
    #email-actions .right { text-align: right; }
    .email-reply-divider { border-top: 1px solid #bbb; color: #505050; margin: 32px 0 8px
0; padding: 8px 0; }
    .email-section-title { border-bottom: 1px solid #bbb; margin: 8px 0; padding: 8px 0 0
0; }

    .email-metadata { color: #505050; }

    a { color: #326ca6; text-decoration: none; }
    a:hover { color: #336ca6; text-decoration: underline; }
    a:active {color: #326ca6; }

    a.email-footer-link { color: #505050; font-size: 11px; }

    .email-item-list { list-style: none; margin: 4px 0; padding-left: 0; }
    .email-item-list li { list-style: none; margin: 0; padding: 4px 0; }
    .email-list-divider { color: #505050; padding: 0 0.35em; }
    .email-operation-icon { padding-right: 5px; }

    .avatar { -ms-interpolation-mode: bicubic; border-radius: 3px;}
    .avatar-link { margin: 2px; }

    .tableview th { border-bottom: 1px solid #69C; font-weight: bold; text-align: left; }
    .tableview td { border-bottom: 1px solid #bbbbbb; text-align: left; padding: 4px 16px
4px 0; }

    .aui-message {  margin: 1em 0; padding: 8px; }
    .aui-message.info { background-color: #e0f0ff; border: 1px solid #9eb6d4; }
    .aui-message.success { background-color: #ddfade; border: 1px solid #93c49f; }
    .aui-message.error,
    .aui-message.removed { background-color: #ffe7e7; border: 1px solid #df9898; color: #000;
}

    .call-to-action-table { margin: 10px 1px 1px 1px;}
    .call-to-cancel-container, .call-to-action-container { padding: 5px 20px; }
    .call-to-cancel-container { border: 1px solid #aaa; background-color: #eee; border-radius:
3px; }
    .call-to-cancel-container a.call-to-cancel-button { background-color: #eee; font-size:
14px; line-height: 1; padding: 0; margin: 0; color: #666; font-family: sans-serif;}
    .call-to-action-container { border: 1px solid #486582;  background-color: #3068A2; border-radius:
3px; padding: 4px 10px; }
    .call-to-action-container a.call-to-action-button { background-color: #3068A2; font-size:
14px; line-height: 1; padding: 0; margin: 0; color: #fff; font-weight: bold; font-family:
sans-serif; }

    /** The span around the inline task checkbox image */
    .diff-inline-task-overlay {
        display: inline-block;
        text-align: center;
        height: 1.5em;
        padding: 5px 0px 1px 5px;
        margin-right: 5px;
        /** Unfortunately, the negative margin-left is stripped out in gmail */
        margin-left: -5px;
    }

            @media handheld, only screen and (max-device-width: 480px) {
        div, a, p, td, th, li, dt, dd { -webkit-text-size-adjust: auto; }
        small, small a { -webkit-text-size-adjust: 90%; }

        td[id=email-wrapper-inner] { padding: 2px !important; }
        td[id=email-content-inner] { padding: 8px !important; }
        td[id="email-wrapper-inner"][class="thin"] > table { text-align: left !important;
width: 100% !important; }
        td[id=email-footer] { padding: 8px 12px !important; }
        div[class=email-indent] { margin: 8px 0px !important; }
        div[class=email-comment] { margin: 0 !important; }

        p[id=email-title-flavor] a { display: block; } /* puts the username and the action
on separate lines */
        p[id=email-permalink] { padding: 4px 0 0 0 !important; }

        table[id=email-actions] td { padding-top: 0 !important; }
        table[id=email-actions] td.right { text-align: right !important; }
        table[id=email-actions] .email-list-item { display: block; margin: 1em 0 !important;
word-wrap: normal !important; }
        span[class=email-list-divider] { display: none; }
    }



        </style>
    </head>
    <body style="font-family: Arial, FreeSans, Helvetica, sans-serif; font-size: 13px;
width: 100%; -webkit-font-smoothing: antialiased; background-color: #f0f0f0">
        <table id="email-wrapper" width="100%" cellspacing="0" cellpadding="0" border="0"
style="background-color: #f0f0f0">
            <tbody>
                <tr valign="middle">
                    <td id="email-wrapper-inner" style="font-size: 13px; padding: 20px;
text-align: center">
                        <table id="email-content" cellspacing="0" cellpadding="0" border="0"
style="font-family: Arial, FreeSans, Helvetica, sans-serif; width: 100%">
                            <tbody>
                                <tr valign="top">
                                    <td id="email-content-inner" align="left" style="font-family:
Arial, FreeSans, Helvetica, sans-serif; font-size: 13px; background-color: #fff; border: 1px
solid #bbb; padding: 20px; text-align: left">
                                        <table id="email-title" cellpadding="0" cellspacing="0"
border="0" width="100%">
                                            <tbody>
                                                <tr>
                                                    <td id="email-title-avatar" rowspan="2"
style="font-size: 13px; text-align: left; vertical-align: top; width: 48px; padding-right:
8px"> <img class="avatar" src="cid:avatar_55f1f821eca17742a7f7bb51a11fe95e" border="0"
height="48" width="48" style="-ms-interpolation-mode: bicubic; border-radius: 3px" /> </td>
                                                    <td valign="top" style="font-size:
13px">
                                                        <div id="email-title-flavor" class="email-metadata"
style="margin: 0; padding: 0 0 4px 0; color: #505050">
                                                            <a href="    https://cwiki.apache.org/confluence/display/~paulgale
" style="color:#326ca6;text-decoration:none;; color: #326ca6; text-decoration: none">Paul
Gale</a> edited the page:
                                                        </div> </td>
                                                </tr>
                                                <tr>
                                                    <td valign="top" style="font-size:
13px"> <h2 id="email-title-heading" style="font-size: 16px; line-height: 20px; min-height:
20px; margin: 0; padding: 0"> <a href="https://cwiki.apache.org/confluence/display/ACTIVEMQ/Configurable+IOException+Handling"
style="color: #326ca6; text-decoration: none"> <img class="icon" src="cid:page-icon"
alt="" style="border: 0; padding: 0 5px 0 0; text-align: left; vertical-align: middle" />
<strong style="font-size:16px;line-height:20px;vertical-align:top;">Configurable IOException
Handling</strong> </a> </h2> </td>
                                                </tr>
                                            </tbody>
                                        </table>
                                        <div class="email-indent" style="margin: 8px 0
16px 0">
                                            <div class="email-diff">
                                                <div id="page-diffs" class="wiki-content">
                                                    <p class="diff-block-target" style="font-size:
13px">Starting with 5.3.1, ActiveMQ provides configurable IOException handling for its
file-based message stores. From version 5.5 the handler is also invoked when the JDBC persistence
adapter gets a failure on <code style="font-size: 13px"><span class="diff-html-changed"
id="changed-diff-0" style="background-color: #d6f0ff;">getConnection()</span></code>.</p>
                                                    <h2 id="ConfigurableIOExceptionHandling-DefaultIOExceptionhandler"
class="diff-block-context">Default IOException handler</h2>
                                                    <p class="diff-context-placeholder"
style="font-size: 13px">...</p>
                                                    <p class="diff-block-target diff-block-context"
style="font-size: 13px">There are a couple of properties you can use to tune the behavior
of <span class="diff-html-removed" id="removed-diff-0" style="font-size: 100%; background-color:
#ffe7e7; text-decoration: line-through;">default IOException handler. But first you need
to </span><span class="diff-html-added" id="added-diff-0" style="font-size: 100%;
background-color: #ddfade;">the </span><code style="font-size: 13px"><span
class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">DefaultIOExceptionHandler</span></code><span
class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">. First, instantiate
the exception handler as a bean. Then </span>configure the broker to use <span class="diff-html-removed"
id="removed-diff-1" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">customized
handler. You can do that by instantiating a handler and setting it using </span><span
class="diff-html-added" id="added-diff-1" style="font-size: 100%; background-color: #ddfade;">the
exception handler by setting the broker's </span><code style="font-size: 13px">ioExceptionHandler</code>
property.</p>
                                                    <p class="diff-block-target diff-block-context"
style="font-size: 13px"> <span class="diff-html-added" id="added-diff-2" style="font-size:
100%; background-color: #ddfade;">Example:</span> </p>
                                                    <table class="diff-macro diff-block-target
diff-block-context" style="background-color: #f0f0f0;border: 1px solid #dddddd;margin: 10px
1px;padding: 0 2px 2px;width: 100%;">
                                                        <thead>
                                                            <tr>
                                                                <th class="diff-macro-title"
style="background-color: transparent; text-align: left; font-weight: normal;padding: 5px;;
font-size: 13px"><span class="icon macro-placeholder-icon" style="background-color:
;line-height: 20px;"><img src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/plugins/servlet/confluence/placeholder/macro-icon?name=code"
style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Code Block</th>
                                                            </tr>
                                                        </thead>
                                                        <tbody>
                                                            <tr>
                                                                <td class="diff-macro-properties"
style="background-color: #fafafa; padding: 0 0 0 5px; font-size: 12px; text-align: left;padding:
0; border: 1px solid #dddddd;; font-size: 13px">
                                                                    <table>
                                                                        <tbody>
                                                                            <tr>
                                                                                <td style="background-color:
#fafafa; padding: 0 0 0 5px; font-size: 12px; text-align: left;; font-size: 13px"><span
class="diff-html-added" id="added-diff-3" style="font-size: 100%; background-color: #ddfade;">language</span></td>
                                                                                <td style="background-color:
#fafafa; padding: 0 0 0 5px; font-size: 12px; text-align: left;; font-size: 13px"><span
class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">xml</span></td>
                                                                            </tr>
                                                                        </tbody>
                                                                    </table> </td>
                                                            </tr>
                                                        </tbody>
                                                        <tbody>
                                                            <tr>
                                                                <td class="diff-macro-body"
style="background-color: #fff;border: 1px solid #dddddd;padding: 10px;; font-size: 13px">
<pre style="font-size: 13px">
<span class="diff-html-removed" id="removed-diff-2" style="font-size: 100%; background-color:
#ffe7e7; text-decoration: line-through;"> </span>&lt;bean id=&quot;ioExceptionHandler&quot;
class=&quot;org.apache.activemq.util.DefaultIOExceptionHandler&quot;&gt;
        &lt;property name=&quot;ignoreAllErrors&quot;&gt;&lt;value&gt;true&lt;/value&gt;&lt;/property&gt;
    &lt;/bean&gt;

    &lt;broker xmlns=&quot;http://activemq.apache.org/schema/core&quot; ioExceptionHandler=&quot;#ioExceptionHandler&quot;&gt;
      ...
    &lt;/broker&gt;
</pre> </td>
                                                            </tr>
                                                        </tbody>
                                                    </table>
                                                    <p class="diff-block-target" style="font-size:
13px"> <span class="diff-html-removed" id="removed-diff-3" style="font-size: 100%; background-color:
#ffe7e7; text-decoration: line-through;">Here are the </span><span class="diff-html-added"
id="added-diff-4" style="font-size: 100%; background-color: #ddfade;">Handler configuration
</span>properties<span class="diff-html-added" id="added-diff-5" style="font-size:
100%; background-color: #ddfade;">:</span> </p>
                                                    <div class="table-wrap diff-block-target
diff-block-context">
                                                        <table class="confluenceTable"
style="border-collapse: collapse; border: 1px solid #ddd;">
                                                            <tbody>
                                                                <tr>
                                                                    <th class="confluenceTh"
style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align:
top;background-color: #F0F0F0; font-weight: bold;; font-size: 13px"> <p style="font-size:
13px">Property</p> </th>
                                                                    <th class="confluenceTh"
style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align:
top;background-color: #F0F0F0; font-weight: bold;; font-size: 13px"> <p style="font-size:
13px">Default Value</p> </th>
                                                                    <th class="confluenceTh"
style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align:
top;background-color: #F0F0F0; font-weight: bold;; font-size: 13px"> <p style="font-size:
13px">Description</p> </th>
                                                                </tr>
                                                                <tr>
                                                                    <td class="confluenceTd"
style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align:
top;; font-size: 13px"> <p style="font-size: 13px"> <code style="font-size: 13px"><span
class="diff-html-changed" id="changed-diff-1" style="background-color: #d6f0ff;">ignoreAllErrors</span></code>
</p> </td>
                                                                    <td class="confluenceTd"
style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align:
top;; font-size: 13px"> <p style="font-size: 13px"> <code style="font-size: 13px"><span
class="diff-html-changed" id="changed-diff-2" style="background-color: #d6f0ff;">false</span></code>
</p> </td>
                                                                    <td class="confluenceTd"
style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align:
top;; font-size: 13px"> <p style="font-size: 13px"> <span class="diff-html-removed"
style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"> </span><span
class="diff-html-removed" id="removed-diff-4" style="font-size: 100%; background-color: #ffe7e7;
text-decoration: line-through;">ignore </span><span class="diff-html-added" id="added-diff-6"
style="font-size: 100%; background-color: #ddfade;">When </span><code style="font-size:
13px"><span class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">true</span></code><span
class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> </span>all
errors <span class="diff-html-added" id="added-diff-7" style="font-size: 100%; background-color:
#ddfade;">are ignored </span>and <span class="diff-html-removed" id="removed-diff-5"
style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">don't
stop </span>the broker <span class="diff-html-added" id="added-diff-8" style="font-size:
100%; background-color: #ddfade;">remains running.</span> </p> </td>
                                                                </tr>
                                                                <tr>
                                                                    <td class="confluenceTd"
style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align:
top;; font-size: 13px"> <p style="font-size: 13px"> <code style="font-size: 13px"><span
class="diff-html-changed" id="changed-diff-3" style="background-color: #d6f0ff;">ignoreNoSpaceErrors</span></code>
</p> </td>
                                                                    <td class="confluenceTd"
style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align:
top;; font-size: 13px"> <p style="font-size: 13px"> <code style="font-size: 13px"><span
class="diff-html-changed" id="changed-diff-4" style="background-color: #d6f0ff;">true</span></code>
</p> </td>
                                                                    <td class="confluenceTd"
style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align:
top;; font-size: 13px"> <p style="font-size: 13px"> <span class="diff-html-removed"
style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"> </span><span
class="diff-html-removed" id="removed-diff-6" style="font-size: 100%; background-color: #ffe7e7;
text-decoration: line-through;">if set to </span><span class="diff-html-added"
id="added-diff-9" style="font-size: 100%; background-color: #ddfade;">When </span><code
style="font-size: 13px"><span class="diff-html-changed" id="changed-diff-5" style="background-color:
#d6f0ff;">false</span></code><span class="diff-html-removed" id="removed-diff-7"
style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">, </span>'no
disk space' errors <span class="diff-html-removed" id="removed-diff-8" style="font-size:
100%; background-color: #ffe7e7; text-decoration: line-through;">will not be treated separately
and broker will be stopped </span><span class="diff-html-added" id="added-diff-10"
style="font-size: 100%; background-color: #ddfade;">are treated the same as other errors
causing the broker to be stopped.</span> </p> </td>
                                                                </tr>
                                                                <tr>
                                                                    <td class="confluenceTd"
style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align:
top;; font-size: 13px"> <p style="font-size: 13px"> <code style="font-size: 13px"><span
class="diff-html-changed" id="changed-diff-6" style="background-color: #d6f0ff;">noSpaceMessage</span></code>
</p> </td>
                                                                    <td class="confluenceTd"
style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align:
top;; font-size: 13px"> <p style="font-size: 13px"> <code style="font-size: 13px"><span
class="diff-html-changed" id="changed-diff-7" style="background-color: #d6f0ff;">space</span></code><span
class="diff-html-removed" style="font-size: 100%; background-color: #ffe7e7; text-decoration:
line-through;"> </span><span class="diff-html-removed" id="removed-diff-9" style="font-size:
100%; background-color: #ffe7e7; text-decoration: line-through;">try </span> </p>
</td>
                                                                    <td class="confluenceTd"
style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align:
top;; font-size: 13px"> <p style="font-size: 13px"> <span class="diff-html-removed"
style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"> to
find this phrase in exception message to determine if it is </span><span class="diff-html-added"
id="added-diff-11" style="font-size: 100%; background-color: #ddfade;">The string used
to match against the exception's message. When matched a </span>'no disk space' <span
class="diff-html-removed" id="removed-diff-10" style="font-size: 100%; background-color: #ffe7e7;
text-decoration: line-through;">case </span><span class="diff-html-added" id="added-diff-12"
style="font-size: 100%; background-color: #ddfade;">error results.</span> </p>
</td>
                                                                </tr>
                                                                <tr>
                                                                    <td class="confluenceTd"
style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align:
top;; font-size: 13px"> <p style="font-size: 13px"> <code style="font-size: 13px"><span
style="color: red;"><span class="diff-html-changed" id="changed-diff-8" style="background-color:
#d6f0ff;">ignoreSQLExceptions</span></span></code> </p> </td>
                                                                    <td class="confluenceTd"
style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align:
top;; font-size: 13px"> <p style="font-size: 13px"> <code style="font-size: 13px"><span
class="diff-html-changed" id="changed-diff-9" style="background-color: #d6f0ff;">true</span></code>
</p> </td>
                                                                    <td class="confluenceTd"
style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align:
top;; font-size: 13px"> <p style="font-size: 13px"> <span class="diff-html-removed"
style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"> </span><span
class="diff-html-removed" id="removed-diff-11" style="font-size: 100%; background-color: #ffe7e7;
text-decoration: line-through;">SLQExceptions that match (default all) will be ignored.
This allows the existing database locker to take control of DB failures</span><span
class="diff-html-added" id="added-diff-13" style="font-size: 100%; background-color: #ddfade;">If
</span><code style="font-size: 13px"><span class="diff-html-added" style="font-size:
100%; background-color: #ddfade;">true</span></code><span class="diff-html-added"
style="font-size: 100%; background-color: #ddfade;"> all SQLExceptions are ignored by the
handler allowing them to be handled by the persistence adapter's locker</span>. When
<code style="font-size: 13px"><span class="diff-html-changed" id="changed-diff-10"
style="background-color: #d6f0ff;">false</span></code><span class="diff-html-changed"
style="background-color: #d6f0ff;"> </span>the <span class="diff-html-added" id="added-diff-14"
style="font-size: 100%; background-color: #ddfade;">exception </span>handler <span
class="diff-html-removed" id="removed-diff-12" style="font-size: 100%; background-color: #ffe7e7;
text-decoration: line-through;">will process </span><span class="diff-html-added"
id="added-diff-15" style="font-size: 100%; background-color: #ddfade;">processes </span>the
exception<span class="diff-html-added" id="added-diff-16" style="font-size: 100%; background-color:
#ddfade;">.</span> </p> </td>
                                                                </tr>
                                                                <tr>
                                                                    <td class="confluenceTd"
style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align:
top;; font-size: 13px"> <p style="font-size: 13px"> <code style="font-size: 13px"><span
style="color: red;"><span class="diff-html-changed" id="changed-diff-11" style="background-color:
#d6f0ff;">sqlExceptionMessage</span></span></code> </p> </td>
                                                                    <td class="confluenceTd"
style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align:
top;; font-size: 13px"> <p style="font-size: 13px"> <code style="font-size: 13px"><span
class="diff-html-changed" id="changed-diff-12" style="background-color: #d6f0ff;">&quot;&quot;</span></code>
</p> </td>
                                                                    <td class="confluenceTd"
style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align:
top;; font-size: 13px"> <p style="font-size: 13px">The SQLException phrase to match
when ignoring SQLExceptions. Only <span class="diff-html-added" id="added-diff-17" style="font-size:
100%; background-color: #ddfade;">matched </span>exceptions <span class="diff-html-removed"
id="removed-diff-13" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">that
match </span>are ignored. <span class="diff-html-removed" id="removed-diff-14" style="font-size:
100%; background-color: #ffe7e7; text-decoration: line-through;">Everything matches </span><span
class="diff-html-added" id="added-diff-18" style="font-size: 100%; background-color: #ddfade;">All
SQLExceptions match </span>the default empty string<span class="diff-html-added"
id="added-diff-19" style="font-size: 100%; background-color: #ddfade;">.</span> </p>
</td>
                                                                </tr>
                                                                <tr>
                                                                    <td class="confluenceTd"
style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align:
top;; font-size: 13px"> <p style="font-size: 13px"> <code style="font-size: 13px"><span
style="color: red;"><span class="diff-html-changed" id="changed-diff-13" style="background-color:
#d6f0ff;">stopStartConnectors</span></span></code> </p> </td>
                                                                    <td class="confluenceTd"
style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align:
top;; font-size: 13px"> <p style="font-size: 13px"> <code style="font-size: 13px"><span
class="diff-html-changed" id="changed-diff-14" style="background-color: #d6f0ff;">false</span></code>
</p> </td>
                                                                    <td class="confluenceTd"
style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align:
top;; font-size: 13px"> <p style="font-size: 13px"> <span class="diff-html-removed"
style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"> </span><span
class="diff-html-removed" id="removed-diff-15" style="font-size: 100%; background-color: #ffe7e7;
text-decoration: line-through;">Don't stop the broker, just stop and restart the transport
connectors when a persistence adapter checkpoint succeeds again. While the handler is waiting
to restart the connectors exceptions are ignored. Using this </span><span class="diff-html-added"
id="added-diff-20" style="font-size: 100%; background-color: #ddfade;">When </span><code
style="font-size: 13px"><span class="diff-html-added" style="font-size: 100%; background-color:
#ddfade;">true</span></code><span class="diff-html-added" style="font-size:
100%; background-color: #ddfade;"> transport connectors are stopped (client 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 </span>option ensures that the broker does not
need to be manually restarted in the event of a DB restart<span class="diff-html-added"
id="added-diff-21" style="font-size: 100%; background-color: #ddfade;">, for example.</span>
</p> </td>
                                                                </tr>
                                                                <tr>
                                                                    <td class="confluenceTd"
style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align:
top;; font-size: 13px"> <p style="font-size: 13px"> <code style="font-size: 13px"><span
style="color: red;"><span class="diff-html-changed" id="changed-diff-15" style="background-color:
#d6f0ff;">resumeCheckSleepPeriod</span></span></code> </p> </td>
                                                                    <td class="confluenceTd"
style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align:
top;; font-size: 13px"> <p style="font-size: 13px"> <code style="font-size: 13px"><span
class="diff-html-changed" id="changed-diff-16" style="background-color: #d6f0ff;">5sec</span></code>
</p> </td>
                                                                    <td class="confluenceTd"
style="border: 1px solid #DDD; padding: 5px 7px; min-width: 0.6em; text-align: left; vertical-align:
top;; font-size: 13px"> <p style="font-size: 13px"> <span class="diff-html-removed"
style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;"> </span><span
class="diff-html-removed" id="removed-diff-16" style="font-size: 100%; background-color: #ffe7e7;
text-decoration: line-through;">the sleep period between checks for a successful persistence
adapter checkpoint that allows transport connectors to resume. </span><span class="diff-html-added"
id="added-diff-22" style="font-size: 100%; background-color: #ddfade;">The interval between
persistence adapter checkpoints. Typically </span>used in conjunction with <code
style="font-size: 13px"><span class="diff-html-changed" id="changed-diff-17" style="background-color:
#d6f0ff;">stopStartConnectors</span></code><span class="diff-html-added"
id="added-diff-23" style="font-size: 100%; background-color: #ddfade;">.</span> </p>
</td>
                                                                </tr>
                                                            </tbody>
                                                        </table>
                                                    </div>
                                                    <p class="diff-block-target diff-block-context"
style="font-size: 13px"> <em>Options in <span style="color: red;">red</span>
are available in version 5.5</em> </p>
                                                    <p class="diff-block-target diff-block-context"
style="font-size: 13px">The default configuration will try to find a specified string in
the exception message to determine whether it is a 'no disk space' <span class="diff-html-removed"
id="removed-diff-17" style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">kind
of </span>error. On most platforms (at least those we have tested), you'll find the
<span class="diff-html-added" id="added-diff-24" style="font-size: 100%; background-color:
#ddfade;">word </span>'space' <span class="diff-html-removed" id="removed-diff-18"
style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">word
</span>in it. Of course, you can customize this to your platform <span class="diff-html-added"
id="added-diff-25" style="font-size: 100%; background-color: #ddfade;">by </span>using
<code style="font-size: 13px">noSpaceMessage</code> property.</p>
                                                    <p class="diff-block-target" style="font-size:
13px"> <span class="diff-html-added" id="added-diff-26" style="font-size: 100%; background-color:
#ddfade;">Note: as of ActiveMQ 5.11 the </span><code style="font-size: 13px"><span
class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">JDBCIOExceptionHandler</span></code><span
class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> has been deprecated.
It has been replaced by the </span><code style="font-size: 13px"><span class="diff-html-added"
style="font-size: 100%; background-color: #ddfade;">org.apache.activemq.util.LeaseLockerIOExceptionHandler</span></code><span
class="diff-html-added" style="font-size: 100%; background-color: #ddfade;"> that will
work with any persistence adapter that supports pluggable storage lockers whether or not a
locker is in use.</span> </p>
                                                    <h2 id="ConfigurableIOExceptionHandling-Writingyourownhandler"
class="diff-block-context">Writing your own handler</h2>
                                                    <p class="diff-block-context" style="font-size:
13px">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 style="font-size: 13px">df</code> on Linux to be sure.</p>
                                                    <p class="diff-block-target diff-block-context"
style="font-size: 13px">All you have to do is <span class="diff-html-removed" id="removed-diff-19"
style="font-size: 100%; background-color: #ffe7e7; text-decoration: line-through;">, </span>implement
the <code style="font-size: 13px">org.apache.activemq.util.IOExceptionHandler</code>
interface <span class="diff-html-removed" id="removed-diff-20" style="font-size: 100%;
background-color: #ffe7e7; text-decoration: line-through;">and </span><span class="diff-html-added"
id="added-diff-27" style="font-size: 100%; background-color: #ddfade;">then </span>configure
the broker to use it<span class="diff-html-added" id="added-diff-28" style="font-size:
100%; background-color: #ddfade;">:</span> </p>
                                                    <table class="diff-macro diff-block-target
diff-block-context" style="background-color: #f0f0f0;border: 1px solid #dddddd;margin: 10px
1px;padding: 0 2px 2px;width: 100%;">
                                                        <thead>
                                                            <tr>
                                                                <th class="diff-macro-title"
style="background-color: transparent; text-align: left; font-weight: normal;padding: 5px;;
font-size: 13px"><span class="icon macro-placeholder-icon" style="background-color:
;line-height: 20px;"><img src="https://cwiki.apache.org/confluence/s/en_GB-1988229788/4109/76e0dbb30bc8580e459c201f3535d84f9283a9ac.1/_/plugins/servlet/confluence/placeholder/macro-icon?name=code"
style="padding-right: 5px; vertical-align: text-bottom;" /> </span>Code Block</th>
                                                            </tr>
                                                        </thead>
                                                        <tbody>
                                                            <tr>
                                                                <td class="diff-macro-properties"
style="background-color: #fafafa; padding: 0 0 0 5px; font-size: 12px; text-align: left;padding:
0; border: 1px solid #dddddd;; font-size: 13px">
                                                                    <table>
                                                                        <tbody>
                                                                            <tr>
                                                                                <td style="background-color:
#fafafa; padding: 0 0 0 5px; font-size: 12px; text-align: left;; font-size: 13px"><span
class="diff-html-added" id="added-diff-29" style="font-size: 100%; background-color: #ddfade;">language</span></td>
                                                                                <td style="background-color:
#fafafa; padding: 0 0 0 5px; font-size: 12px; text-align: left;; font-size: 13px"><span
class="diff-html-added" style="font-size: 100%; background-color: #ddfade;">xml</span></td>
                                                                            </tr>
                                                                        </tbody>
                                                                    </table> </td>
                                                            </tr>
                                                        </tbody>
                                                        <tbody>
                                                            <tr>
                                                                <td class="diff-macro-body"
style="background-color: #fff;border: 1px solid #dddddd;padding: 10px;; font-size: 13px">
<pre style="font-size: 13px">
<span class="diff-html-removed" id="removed-diff-21" style="font-size: 100%; background-color:
#ffe7e7; text-decoration: line-through;"> </span>&lt;bean id=&quot;ioExceptionHandler&quot;
class=&quot;com.mycompany.MyIOExceptionHandler&quot;&gt;
        &lt;property name=&quot;ignoreAllErrors&quot;&gt;&lt;value&gt;true&lt;/value&gt;&lt;/property&gt;
    &lt;/bean&gt;

    &lt;broker xmlns=&quot;http://activemq.apache.org/schema/core&quot; ioExceptionHandler=&quot;#ioExceptionHandler&quot;&gt;
      ...
    &lt;/broker&gt;
</pre> </td>
                                                            </tr>
                                                        </tbody>
                                                    </table>
                                                </div>
                                            </div>
                                        </div>
                                        <table id="email-actions" class="email-metadata"
cellspacing="0" cellpadding="0" border="0" width="100%" style="border-top: 1px solid #bbb;
color: #505050; margin: 8px 0 0 0; padding: 0; color: #505050">
                                            <tbody>
                                                <tr>
                                                    <td class="left" valign="top" style="font-size:
13px; padding-top: 8px; max-width: 45%; text-align: left"> <span class="email-list-item"><a
href="https://cwiki.apache.org/confluence/display/ACTIVEMQ/Configurable+IOException+Handling"
style="color: #326ca6; text-decoration: none">View Online</a> </span> <span
class="email-list-divider" style="color: #505050; padding: 0 0.350em">&middot;</span>
<span class="email-list-item"><a href="https://cwiki.apache.org/confluence/plugins/likes/like.action?contentId=5965507"
style="color: #326ca6; text-decoration: none">Like</a> </span> <span class="email-list-divider"
style="color: #505050; padding: 0 0.350em">&middot;</span> <span class="email-list-item"><a
href="https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=5965507&amp;revisedVersion=5&amp;originalVersion=4"
style="color: #326ca6; text-decoration: none">View Changes</a> </span> </td>
                                                    <td class="right" width="50%" valign="top"
style="font-size: 13px; padding-top: 8px; text-align: right"> <span class="email-list-item"><a
href="https://cwiki.apache.org/confluence/users/removespacenotification.action?spaceKey=ACTIVEMQ"
style="color: #326ca6; text-decoration: none">Stop watching space</a> </span>
<span class="email-list-divider" style="color: #505050; padding: 0 0.350em">&middot;</span>
<span class="email-list-item"><a href="https://cwiki.apache.org/confluence/users/editmyemailsettings.action"
style="color: #326ca6; text-decoration: none">Manage Notifications</a> </span>
</td>
                                                </tr>
                                            </tbody>
                                        </table> </td>
                                </tr>
                            </tbody>
                        </table> </td>
                </tr>
                <tr>
                    <td id="email-footer" align="center" style="font-size: 13px; padding:
0 16px 32px 16px; margin: 0"> <small style="font-size: 11px"> This message was sent
by <a class="email-footer-link" style="color:#505050;font-size:11px;text-decoration:none;;
color: #326ca6; text-decoration: none; color: #505050; font-size: 11px" href="http://www.atlassian.com/software/confluence">Atlassian
Confluence</a> 5.0.3, <a class="email-footer-link" style="color:#505050;font-size:11px;text-decoration:none;;
color: #326ca6; text-decoration: none; color: #505050; font-size: 11px" href="http://www.atlassian.com/software/confluence/overview/team-collaboration-software?utm_source=email-footer">Team
Collaboration Software</a> </small> </td>
                </tr>
            </tbody>
        </table>
    </body>
</html>
Mime
View raw message