AnsweredAssumed Answered

TimerBoundaryEvent is not able to call Java service task

Question asked by rajatgupta1609 on Apr 24, 2014
Latest reply on Apr 25, 2014 by martin.grofcik

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.

Rajat Gupta