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 Core | Assignee: | Maciej Swiderski <mswiders> | ||||
| Status: | CLOSED NOTABUG | QA Contact: | Jozef Marko <jomarko> | ||||
| Severity: | high | Docs Contact: | |||||
| Priority: | high | ||||||
| Version: | 6.1.0 | CC: | 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: |
|
||||||
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 Thanks Maciej. 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 |
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.