<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">

<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>

                                <td>

                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="https://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>

                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
    Re: saving state after workitem
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="https://community.jboss.org/people/melc">Chris Melas</a> in <i>jBPM</i> - <a href="https://community.jboss.org/message/647369#647369">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>Hello,</p><p>What if the server crashes while calling the web service just before calling it or just before the response is received?</p><p>To overcome such a scenario, you would need to persist the work item before calling the web service.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Generally when you create a workitem, in order to have its state persisted, by the engine, you need to run it asynchronously, i.e. within a new thread.</p><p>When the system is recovered you would need to re run this work item.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>If you want to perist the state of the process right after the web service is called, in other words when the work item is completed, you can simply call another asynchronous work item right after the call of you web service work item. In addition a human task could be used, if it makes sense.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>However, what if the system goes down before completing the ws work item but after the ws call?</p><p>Then you need to apply some kind of logic in your system that runs the ws call within a transaction and modifies some kind of state, that you will check when trying to rerun the work item after a process recovery.</p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Reply to this message by <a href="https://community.jboss.org/message/647369#647369">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in jBPM at <a href="https://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>