<!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;">
    Asynchronous service tasks and transactions
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="https://community.jboss.org/people/rahulamt">Rahul Agrawal</a> in <i>jBPM</i> - <a href="https://community.jboss.org/message/755652#755652">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>jBPM5.2 documentation states the following.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h3 class="title" style="color: #4a5d75; font-family: 'Lucida Grande', Geneva, Verdana, Arial, sans-serif; font-size: 1.3em; text-align: justify;"><a class="jive-link-anchor-small">5.8.7. Multi-threading</a></h3><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><a class="jive-link-anchor-small">"When a service task is reached in the process, the engine will also invoke the handler of this service synchronously. This means that the engine will wait for the completeWorkItem(..) method to return before continuing execution. Therefore, it is important that your service handler executes your service asynchronously if its execution is not instantaneous. Image for example you want to invoke an external service. Since the delay of invoking this service remotely and waiting for the results might be too high, it might be a good idea to invoke this service asynchronously. This means that the handler will only invoke the service asynchronously and will notify the engine if the results are available.</a>..."</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>But how to notify the engine that the execution is complete and the it can continue the execution. The suggested way is to use completeWorkItem(..). But If i try to invoke this in the thread that I have started, the entity manager is flushing the persistence context.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>If I explicitely flush the entity manager then for back-to-back service tasks the entity manager is not flushed even if I explicitely say EntityManager.flush().</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Please help!!</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/755652#755652">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>