Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1153075

Summary: AdHoc subprocess does not terminate even with Terminate end events inside
Product: [Retired] JBoss BPMS Platform 6 Reporter: Jozef Marko <jomarko>
Component: jBPM CoreAssignee: Maciej Swiderski <mswiders>
Status: CLOSED NOTABUG QA Contact: Jozef Marko <jomarko>
Severity: high Docs Contact:
Priority: high    
Version: 6.1.0CC: kverlaen
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-10-29 14:15:59 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Picture and source of the modeled process. none

Description Jozef Marko 2014-10-15 15:02:27 UTC
Created attachment 947238 [details]
Picture and source of the modeled process.

I have modeled process, which contains simple AdHocSubprocess. See the attachment.

I am running created process in way of:
...
...
ProcessInstance processInstance = kSession.startProcess(BPMN2AdHocSubProcess);
kSession.signalEvent("Hello1", null, processInstance.getId());
kSession.signalEvent("Hello2", null, processInstance.getId());
...
...

I have registered my ProcessEventListener to kSession and debugged a lot of time. I have checked out, that executed nodes are: 'StartProcess' and everything inside 'Hello'. But last two nodes: 'Goodbye' and 'EndProcess' aren't executed.

Comment 1 Maciej Swiderski 2014-10-27 17:48:24 UTC
Jozef,

according to BPMN2 spec it's not allowed to have end events in ad hoc subprocess:

"
The list of BPMN elements that MUST NOT be used in an Ad-Hoc Sub-Process: 
Start Event, End Event, Conversations (graphically), Conversation Links (graphically), and Choreography Activities.
"

so if you'd like to complete it as soon as you signal it then you can set its completion condition like [1] to make it auto complete. Though we might want to enhance it to support more advanced completion conditions like based on process variables etc t have it more flexible. Wdyt?

[1]https://github.com/droolsjbpm/jbpm/blob/master/jbpm-bpmn2/src/test/resources/BPMN2-AdHocSubProcessAutoComplete.bpmn2#L29

Comment 2 Jozef Marko 2014-10-29 14:15:59 UTC
Thanks Maciej.

Comment 3 Maciej Swiderski 2014-10-29 14:33:54 UTC
Josef,

I made small enhancement for the completionCondition so you can now use MVEL expression for it including references to process variables, see commit here: https://github.com/droolsjbpm/jbpm/commit/b9b5e275d3ba289d20b902ea02bce20226db7624