<!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;">
    JBPM stuck when reach AdHocSubprocess and stop executing when reach IntermediateThrowEvent
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="https://community.jboss.org/people/kiattchaipr">Kiattchai Preecha-anusond</a> in <i>jBPM</i> - <a href="https://community.jboss.org/message/718943#718943">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>Hello everyone,</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>I integrated my application with JBPM5.1Final and found some problem when I try to execute AdHocSubprocess or IntermediateThrowEvent that contain EscalationEventDefinition inside. This is some code from the application.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>&#160;&#160;&#160; KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();</p><p>&#160;&#160;&#160; kbuilder.add(ResourceFactory.newFileResource(new File("test.bpmn2")), ResourceType.BPMN2);</p><p>&#160;&#160;&#160; KnowledgeBase knowledgeBase = kbuilder.newKnowledgeBase();</p><p>&#160;&#160;&#160; StatefulKnowledgeSession kSession = knowledgeBase.newStatefulKnowledgeSession();</p><p>&#160;&#160;&#160; kSession.addEventListener(new ProcessEventListener() {</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; @Override</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; public void beforeNodeLeft(ProcessNodeLeftEvent arg0) {</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; System.out.println(arg0.getNodeInstance().getNode().getName());</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; @Override</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; public void beforeNodeTriggered(ProcessNodeTriggeredEvent arg0) {</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; System.out.println(arg0.getNodeInstance().getNode().getName());</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; ....</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; });</p><p>&#160;&#160;&#160; </p><p>&#160;&#160;&#160; System.out.println("Start")</p><p>&#160;&#160;&#160; kSession.startProcess("process_1");</p><p>&#160;&#160;&#160; //kSession.startProcess("process_2");</p><p>&#160;&#160;&#160; while (!mKSession.getProcessInstances().isEmpty()) {</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; try {</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Thread.sleep(1000);</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; } catch (InterruptedException e) {</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; e.printStackTrace();</p><p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</p><p>&#160;&#160;&#160; }</p><p>&#160;&#160;&#160; System.out.println("Done")</p><p>&#160;&#160;&#160; kSession.dispose();</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Output: process_1</p><p>=====================================</p><p>Start</p><p>triggered: StartEvent</p><p>left: StartEvent</p><p>triggered: AdHoc Subprocess</p><p>=====================================</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Output: process_2</p><p>=====================================</p><p>Start</p><p>triggered: StartEvent</p><p>left: StartEvent</p><p>triggered: ThrowEscalation</p><p>Done</p><p>=====================================</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>It seem that it will struck when found the AdHocSubprocess and stop executing when found the IntermediateThrowEvent. In case of IntermediateThrowEvent, it can execute through to the EndEvent if the IntermediateThrowEvent do not contain the EscalationEventDefinition inside. Could anyone suggest me what is the cause of this problem?</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/718943#718943">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>