<!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="http://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: When does Session.startProcess() return?
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="http://community.jboss.org/people/salaboy21">Mauricio Salatino</a> in <i>jBPM</i> - <a href="http://community.jboss.org/message/585767#585767">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p><span id="internal-source-marker_0.9476418235563013" style="font-size: 10pt; font-family: Arial; color: #000000; font-weight: normal; font-style: normal; vertical-align: baseline;">Hi Brain,</span></p><p><span style="font-size: 10pt; font-family: Arial; color: #000000; font-weight: normal; font-style: normal; vertical-align: baseline;">I think that I can explain how a startProcess() method works. </span></p><p><span style="font-size: 10pt; font-family: Arial; color: #000000; font-weight: normal; font-style: normal; vertical-align: baseline;">Ifyou define in your processes nodes that are all executed synchronously,the startProcess() method will execute all the sync activities usingthe same thread that you use to call the startProcess method. It willreturn after all your sync tasks were executed. </span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><span style="font-size: 10pt; font-family: Arial; color: #000000; font-weight: normal; font-style: normal; vertical-align: baseline;">Whenyou have async tasks the process will run until the first one andreturn there.So, answering your question 2 and 3, the startProcess()method will return if your workitems are async. Human Tasks workItemsare async by nature, humans are async. If the code inside your customworkitem is sync, that code will be executed in the same thread thatthe startProcess() method was executed.</span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><span style="font-size: 10pt; font-family: Arial; color: #000000; font-weight: normal; font-style: normal; vertical-align: baseline;">Ifyou are using rules (question 1) the businessRuleTask will execute ifit find at least one rule activation. and if the engine is in reactivemode (fireUntilHalt) the activation will be automatically executed andyour process will continue.</span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><span style="font-size: 10pt; font-family: Arial; color: #000000; font-weight: normal; font-style: normal; vertical-align: baseline;">Trying to answer your last paragraph, you need to know that it depends on the approach that you use:</span></p><p><span style="font-size: 10pt; font-family: Arial; color: #000000; font-weight: normal; font-style: normal; vertical-align: baseline;">But,If you have async tasks, when each of that tasks is completed you willend up having a different thread that will continue the process.</span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><span style="font-size: 10pt; font-family: Arial; color: #000000; font-weight: normal; font-style: normal; vertical-align: baseline;">Greetings<br/></span></p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Reply to this message by <a href="http://community.jboss.org/message/585767#585767">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in jBPM at <a href="http://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>