Upgrade from activiti 5 to 6. BoundaryEvent stopped working

cancel
Showing results for 
Search instead for 
Did you mean: 
Kun
Member II

Upgrade from activiti 5 to 6. BoundaryEvent stopped working

Here is the code snippets of the boundaryEvent from our bpmn file. It works fine in 5.23.0 but after we upgrade the engine to 6.0.0, myTimerEventOnHoldTimerExecutionListener never get called. A ACT_RU_TIMER_JOB will be created and will be moved to ACT_RU_JOB upon the due date and I can see the job get picked up by the asyncJobExecutor but nothing seems to be executed. I noticed that in activiti6, when a boundaryEvent is created, a new execution (with parent id points to the existing child execution) will be created for the boundaryEvent onholdTimerEvent, and unlike in activiti5 in which the existing child execution will be updated for the boundaryEvent. All the variables we set for the boundaryEvent (during myTimerEventOnHoldTaskListener) are tied to the child execution, not the new execution. The timer job will be linked to the new execution whereas in activiti5 the timer job will be linked to the child execution. I am wondering if our code is broken because of the introducing of the new level of execution?

<userTask id="myTimerEventOnHold" name="myTimerEvent On Hold" activiti:assignee="${myTimerEventWorkflowHandler.findAssignee()}">
	<extensionElements>
		<activiti:taskListener event="create" delegateExpression="${myTimerEventOnHoldTaskListener}" />
		<activiti:taskListener event="create" expression="${myTimerEventWorkflowHandler.doSomething(DOMAIN_IDENTIFIER, task.assignee)}" />				
	</extensionElements>
</userTask>
<boundaryEvent id="onholdTimerEvent" attachedToRef="myTimerEventOnHold">
	<timerEventDefinition>
		<timeDate>${myTimerEventWorkflowHandler.getFollowupDate(DOMAIN_IDENTIFIER)}</timeDate>
	</timerEventDefinition>
</boundaryEvent>

<sequenceFlow id="myTimerEventOnHold_timer" sourceRef="onholdTimerEvent" targetRef="exitOnHoldTimer">
	<extensionElements>
		<activiti:executionListener event="take" delegateExpression="${myTimerEventOnHoldTimerExecutionListener}" />
	</extensionElements>
</sequenceFlow>
<serviceTask id="exitOnHoldTimer" activiti:expression="${myTimerEventWorkflowHandler.exitOnHoldTimer(DOMAIN_IDENTIFIER)}" />
<sequenceFlow id="myTimerEventOnHold_timerExit" sourceRef="exitOnHoldTimer" targetRef="myTimerEventNext" />

<sequenceFlow sourceRef="myTimerEventOnHold" targetRef="exitmyTimerEventOnHold" />

Thank you very much for your help!