Community

foreach activity

reply from Alejandro Guizar in jBPM Development - View the full discussion

Tim Johnson wrote:

 

BPMN 2.0 introduces the multi-instance loop characteristic for activities. The expr attribute is similar to the completionCondition (this is what I meant in my comment on JBPM-2414)   

The expr attribute in the transition that leaves from foreach is not a completion condition. It is more of a creation condition. If the condition is not met for a particular element of the collection, the child execution that would correspond to that element is not created.

 

In JBPM-2414 you suggested a completion condition be added to join. As Maciej noted, this is already provided by the  multiplicity attribute. As part of his work on JBPM-2720 he made multiplicity accept expressions in addition to literal numbers.

could the implementation also include support for the isSequential flag that controls sequential or parallel execution of the activity instances?

Both fork and foreach are sequential. However, if you set the continue attribute to async in the following activities, execution can be made parallel provided the job executor is employing multiple threads.

Also can the ability to initiate additional activity instances be  supported? This is described in workflow pattern 36 (http://www.workflowpatterns.com/patterns/control/new/wcp36.php).  Could this be implemented with an event listener (<on  event="end">) added to the foreach? For example: Three contracts are  scheduled for drafting, during the execution of one of these activities  an additional contract draft is deemed necessary, this is added by the  event listener before the completeCondition expression is evaluated.

In the interest of getting this done as soon as possible to release 4.4, let us not add new requirements. We can always revisit later.

The current patch in JBPM-2414 supports only multiple task instances, it  would be great if your solution could support sub-processes.

Any activity may follow foreach, not just tasks.

Reply to this message by going to Community

Start a new discussion in jBPM Development at Community