<!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;">
    How to automatically claim a human task after process start
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="https://community.jboss.org/people/tsnyman">Travers Snyman</a> in <i>jBPM</i> - <a href="https://community.jboss.org/message/779600#779600">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>We have recently upgraded to JBPM 5.4 and have come up with an interesting situation.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>When we start a process, the next node is a human task and we need to claim the task automatically by the user that created the process. This used to work in version 5.3, but in version 4 it seems that we try to claim the task before the task server (in our case Mina task server) has actually created the human task. The code snippet involved is something like the following</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>ProcessInstance processInstance = knowledgeSession.startProcess(processName, params);</p><p>BlockingTaskSummaryResponseHandler responseHandler = new BlockingTaskSummaryResponseHandler();</p><p>taskClient.getTasksAssignedAsPotentialOwner(userId, "en-uk", responseHandler);</p><p>responseHandler.waitTillDone(2000);</p><p>List&lt;TaskSummary&gt; tasks = responseHandler.getResults() ;</p><p>if (!tasks.isEmpty()) {</p><p>&#160;&#160; TaskSummary taskSummary = tasks.get(0);</p><p>&#160;&#160;&#160; Long tasId = taskSummary.getId();</p><p>&#160;&#160;&#160; BlockingTaskOperationResponseHandler responseHandler = new BlockingTaskOperationResponseHandler();</p><p>&#160;&#160;&#160; taskClient.claim(taskId, userId, responseHandler);</p><p>&#160;&#160; responseHandler.waitTillDone(2000);</p><p>}</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>If I put in a manual delay just after the process is started, it works correctly, so it looks like I need some signal from the task server that the task is created before looking it up and claiming it with</p><p>getTasksAssignedAsPotentialOwner but thus far I have been unable to find a way to do this.</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/779600#779600">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>