cancel
Showing results for 
Search instead for 
Did you mean: 

TimerBoundaryEvent is not able to call Java service task

rajatgupta1609
Champ in-the-making
Champ in-the-making
Hi,

I am trying to write a BPMN, which should invoke a service task(associated Java method) after the timer expires. I have specified "Time Duration" as "PT2M". But it is not getting invoked after time expires.

When I start a new process by executing the below command in Java, it make a entry in ACT_RU_JOB table which later gets updated as "Unknown method used in expression" in the EXCEPTION_MSG_ column.

runtimeService.startProcessInstanceByKey("resumeProcess", processInstance.getInpParam());

I tried number of options to get rid of this problem –

1) After this, in the attached BPMN if I remove the TimerBoundaryEvent, keeping service task as it is, it invokes my java method associated with service class without any issue, which means the expression I have defined for the service task is correct.

2) Instead of using the Spring annotation for my Java class, I defined it as a bean in the spring context file and mentioned the bean name in the expression of the service task. It still updated the ACT_RU_JOB->EXCEPTION_MSG_ column as "Unknown property used in expression"

3) Instead of calling the Receive Task(with TimerBouandaryEvent) from the StartEvent, I called TimeCatchingEvent from the StartEvent and
then from TimeCatchingEvent I called my service task. Still it was giving error message as "Unknown method used in expression".

I have attached the BPMN for the reference. I have spent almost 2 days on this, if someone can help me in finding the mistake which I am doing, it will be great.

Regards,
Rajat Gupta
1 REPLY 1

martin_grofcik
Confirmed Champ
Confirmed Champ
Hi,

the problem could be


activiti:expression="#{enrollClass.resumeProcess}"

You can try to debug it. (e.g. put break point to ServiceTaskExpressionActivityBehavior)

Regards
Martin