<!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;">
    A bug? Ksession.signalEvent and ProcessInstanceWaitingForEvent
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="http://community.jboss.org/people/byungwoojun">byungwoojun</a> in <i>jBPM</i> - <a href="http://community.jboss.org/message/604557#604557">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>For the external intermediate event, the jBPM 5 user guide suggested using ksession.signalEvent(event, eventData) - BTW, got the ksession from JPAKnowledgeService. Then, the jBPM 5 will automatically finds a correct process instance to feed the eventData. During some tests, I found that the signalEvent using the ProcessInstanceWaitingForEvent NamedQuery does NOT work well. For example, I have a process flow with intermediate events. I quickly run the process flow multiple times. Then, there will be multiple entries in the EventTypes database. What the query does, it joins the EventTypes and the ProcessInstanceInfo database tables, returns a list of process ids with the same event name. If I ran the process flow three times, the query will return three pids. Which one to use? Normally, it uses the first one. In many cases, the signalEvent ends up using a wrong pid which does not belong. I experienced many problems here. The behaviors were NOT reliable.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>To me, it is a bug to me.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>If I use the ksession.signalEvent(event, eventData, pid) with the pid (which is different from the pid from the startProcess), it works reliably. The problem is how to find a proper pid for intermediate message event messaging.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>I looked at the EvenTypes database table. It has InstanceID and Element columns. Some of the element field data is as follows:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>InstanceID&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Element</p><p>-----------------------------------------------------------------------------------</p><p>1356&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; processInstanceCompleted:1357</p><p>1357&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; eventType1</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>As you can see, the 1356 row points the 1357 row. In my opinion, the proper way to find a correct pid is drilling down the chain from the top-level pid which is getten from the startProcess. Instead of embedding the next pid part of the text data in the Element field, if we have the third column to point the next pid, we could use SQL chain query. Using the current schema, I need to get the 356 instance id, parse the element text (after the colon), then, get the row 1357 instanceid, so on....</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>I looked at the 5.1.0.M1 code, but there is no change. So, is it a bug? Or, did I miss something here?</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>bwj</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/604557#604557">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>