JBoss Community

Re: Difficult workflow question

created by John Bize in jBPM - View the full discussion

Thanks Maceij,

 

That is very helpful!  But you lost me a bit with: "...only one task and interrupting signal boundary event attached to the sub process."

 

I created an embedded sub-process.  In that sub-process is a start event, a diverge (AND) Gateway, splitting to the separate Human Tasks (HT) for each team, a converge (AND) Gateway, and a stop event.  (This sub-process seemed logical, because I have several (currently only 2) teams making the same evaluation. I expect to add more teams eventually, but not soon.)

 

I noticed that the embedded sub-process Component has an Exception Handlers property, and so I tried to mimic "BPMN2-ErrorBoundaryEventInterrupting.bpm2" from the examples.

 

From here I got stuck.  I couldn't get it to work at all, until I copied the Event naming exactly.  Then I tracked some of the hard coded aspects down to the "org.jbpm.bpmn2.xml.ProcessHandler" class.  It looks like my event types (and handling code) are limited/fixed.  I suppose I can handle this as an Error, although it's really not.

 

From your reply, I think you are suggesting that I separately wrap HT-2 and HT-3 (from my example) in embedded sub-processes to make them "boundary aware."  If that's correct, and I'm probably misunderstanding you, how would I make a "Yes" from HT-2 cause HT-3 to end (complete/cancel)?

 

I don't want to loose site of my goal, which is to have a "Yes" answer from one of the teams cause the other pending HT(s) to end immediately and the process to move on. 

 

If I am on the right track with the sub-process I described, how should I raise the exception?  It looks like I would have to use separate XOR Gateways to separate Error Events after each HT, and use separate Exception Handlers on the sub-process boundary, separate signal events, etc.  Is that correct, or is there a cleaner, single handler, approach?  Also, since one of the HTs did complete, how do I ensure that it's Result Mapping variables also propagate for down-process tasks to use?

 

Thanks again.

Reply to this message by going to Community

Start a new discussion in jBPM at Community