cancel
Showing results for 
Search instead for 
Did you mean: 

Invalid execution flow when User Task and Boundary Timer has same out node

jdp
Confirmed Champ
Confirmed Champ
Hi,

I have a workflow which has two user task U1 and U2, U1 has attached boundary timer BT with 1 minute time duration. U1 and BT both has out node ends to U2. Please refer attached process definition and workflow status screen here : https://www.dropbox.com/s/x85fgfyqqih5wa2/Activiti_BoundaryTimer.png?dl=0

Now when boundary timer BT executes from U1, workflow gets moved to U2 and executes U2. But here execution path shows that U1 is completed and U1 gets workflow moved to U2, which is wrong, actually boundary timer BT is executed and that’s way workflow has moved to U2.

Is this expected behavior, if yes, why ?


Thanks,
JDP
14 REPLIES 14

jdp
Confirmed Champ
Confirmed Champ
Hi Martin,

Many thanks for try this out. Yes you are correct and I know this as well, processDefinition.getActivities() method is not giving expected result, but I don't know why. Please refer this design : https://www.dropbox.com/s/4bxz9ruwprelk6a/Activiti_BoundaryTimer_ExGT.png?dl=0

This workflow is designed and exported from activiti explorer itself, which kind of correction you are suggesting for this workflow design, Is this workflow design is invalid,  End point of UT1 and Boundary Timer should not be same without any intermediate node ?, if So, I should add a validation to stop user to design such workflows.

The same behavior is also noted for this design as well : https://www.dropbox.com/s/jnntduuiam6y8xb/MultipleOutgoingFlows.png?dl=0
here also few execution path not being displayed in RED font, please suggest if this is invalid design. User/Service Tasks could not have multiple outgoing flows directly ?

Thanks,
JDP

jdp
Confirmed Champ
Confirmed Champ
Hi Martin,

If you get time, please advise on this.

Regards,
JDP

martin_grofcik
Confirmed Champ
Confirmed Champ
Hi JDP,

passing test is in the attachment.

Regards
Martin

jdp
Confirmed Champ
Confirmed Champ
Hi Martin,

Thanks for your quick response and look in to this. I have tested attached Unit test and found that now it is highlighting both the path, which is wrong, is should highlight only one path which is from Boundary timer to Exclusive gateway as workflow moved further through boundary timer.

I have modified the same unit test and just added one more assertion as attached, please check and advise.

Appreciate your help, Thanks,
JDP

jdp
Confirmed Champ
Confirmed Champ
Hi Martin,

Thanks for your time. I have resolved the issue by just add code to check whether boundary timer is executed or not.

Thanks,
JDP