Search code examples
springactivitibpmn

Spring Activiti inclusive gateway - Only one task is firing


Here's my setup:

enter image description here

It's a basic asset management system. The picture is a little incomplete, but the general idea is this:
From the top left User task, the user has the choice of Yes or No (true or false). As you can see, there's two yeses and one no (which leads to an end). Should the user choose yes, both paths are available to him. The lower yes leads to a complex budgeting, purchasing, and approval system, while the right yes will simply assign whatever asset is already available.

Should the user choose the lower yes, at any time of the process they can simply scratch that and assign whatever asset is already available, as it is understandable that it could take a while before a new asset is acquired.

For this, I used the inclusive gateway, as I believe it allows both paths to be available to the user.

Each of my task print out its title and task ID. Both the arrows from the yes require the same boolean variable to be set to true, while the no is set to false. Should the system check false, it terminates as expected.

However, when the system detects a true, it only shows the print out of the lower yes. Now, this one works, and I've been able to complete the process from there, but what happened to the other yes?

Is there something wrong with my bpmn?

I've tried removing the joining gateway, but it does nothing, AFAIK. Only by setting the lower yes value to expect a false does the other yes trigger.

Any suggestions please?


Solution

  • Fixed it by removing the Join gateway and having both arrows point to the next process.

    Guess the Join behaviour isn't always as useful.