It has been observed in
BPMS 6.0.xthat boundary signal event is listening for signal being raised not only within the process instance itself but from other process instances as well. It is causing a single event thrown from one process instance is getting caught and acted by other process instances too, causing weird application behaviour as captured below. Is it a Bug? What kind of preventive measures can be taken to stop this behaviour? Here is a scenario described with respect to this problem which was also captured in this Bugzilla  .
Say, there are two process definitions, (1)
ParentCallerProcesscontains the following flow.
Start -> ReUsableSubProcess [calledElement: project1.EmbeddedSubProcessTest] -> End
- Now the other
EmbeddedSubProcessTesthas the following process flow where the
Embedded Sub-Processcontains a
User Task, and a
Throw Intermediate Signal Event, and at the boundary of this
Embedded Sub-Processuser is catching the signal thrown from the internal signal event.
Start -> [ Embedded Sub-Process ](boundary, Catch Intermediate Signal Event, signal ref: SignalOne) -> End
- This is how the internal flow of the
Embedded Sub-Processlooks like.
Start -> User Task [name: UserOne] -> [Throw Intermediate Signal Event, signal ref: SignalOne ] -> End
- If multiple process instances are started for
ParentCallerProcess, then in this kind of process flow a signal triggered for a boundary catch event on a single instance of embedded sub-process signals other instances too. i.e. after starting two process instances of
EmbeddedSubProcessTest, it can be seen that two tasks are created. However, if user completes just one task the other one suddenly vanishes from the task menu.
- Red Hat JBoss BPM Suite (BPMS)
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.