<!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">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;">
Questions about transactions in jBPM 4.3
</h3>
<span style="margin-bottom: 10px;">
reply from <a href="http://community.jboss.org/people/rebody">HuiSheng Xu</a> in <i>jBPM</i> - <a href="http://community.jboss.org/message/547690#547690">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">
<div class="jive-rendered-content"><p>Hi Rachel,</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>jBPM 4 simply use one thread to execute all of automatic activities in an execution.  If the execution arrival a wait activity, like State, Task or SubProcess, the execution will turn to wait state and operation will return, the related transaction will commit.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>And the Async Message is a way to return the operation result immediately,  it won't wait for the all of operations of an execution.  It is useful for time cost operations.  For example, If you want to generate some reports in an activity, and this operation will take lots of time,  then you could use continue="async", and processEngine will tell end user that the reports are generating, they could continue to do other jobs.  So it needn't let user wait for all of jobs completed.  They could get the return message information directly.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>In jBPM 4, the async message is handled by the JobExecutor.  You can think it just like a Thread.  It will go on query the database, if there are some jobs, it will take the job, and execute them.  Because the JobExecutor will start individual transaction to handle these jobs.  So we said that the transaction that async messages executed is different from the user request.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>Hope it will helpful.</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/547690#547690">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>