cancel
Showing results for 
Search instead for 
Did you mean: 

Retriy issue (Unknown method used in expression on RuntimeException)

alef
Champ in-the-making
Champ in-the-making
Hi,
consider a simple diagram with start, end and just a task service (see attachement), where the method invoked by task service only throws a RuntimeException in order to trigger a retry.
But on first retry the following exception is thrown:
ERROR 17:20:16,223 org.activiti.engine.impl.jobexecutor.ExecuteJobsRunnable - exception during job execution: Job 372503 failedorg.activiti.engine.ActivitiException: Job 372503 failed   at org.activiti.engine.impl.cmd.ExecuteJobsCmd.execute(ExecuteJobsCmd.java:110)   at org.activiti.engine.impl.interceptor.CommandInvoker.execute(CommandInvoker.java:24)   at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:57)   at org.activiti.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:47)   at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:133)   at org.activiti.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:45)   at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:31)   at org.activiti.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:40)   at org.activiti.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:35)   at org.activiti.engine.impl.jobexecutor.ExecuteJobsRunnable.handleMultipleJobs(ExecuteJobsRunnable.java:94)   at org.activiti.engine.impl.jobexecutor.ExecuteJobsRunnable.run(ExecuteJobsRunnable.java:49)   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)   at java.lang.Thread.run(Unknown Source)Caused by: org.activiti.engine.ActivitiException: Unknown method used in expression: #{mainProcess.doStuff()}   at org.activiti.engine.impl.el.JuelExpression.getValue(JuelExpression.java:55)   at org.activiti.engine.impl.bpmn.behavior.ServiceTaskExpressionActivityBehavior.execute(ServiceTaskExpressionActivityBehavior.java:50)   at org.activiti.engine.impl.pvm.runtime.AtomicOperationActivityExecute.execute(AtomicOperationActivityExecute.java:60)   at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:96)   at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:631)   at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:626)   at org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionNotifyListenerStart.eventNotificationsCompleted(AtomicOperationTransitionNotifyListenerStart.java:52)   at org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:56)   at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:96)   at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:631)   at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:626)   at org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:49)   at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:96)   at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:631)   at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:626)   at org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionCreateScope.execute(AtomicOperationTransitionCreateScope.java:49)   at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:96)   at org.activiti.engine.impl.jobexecutor.AsyncContinuationJobHandler.execute(AsyncContinuationJobHandler.java:35)   at org.activiti.engine.impl.persistence.entity.JobEntity.execute(JobEntity.java:84)   at org.activiti.engine.impl.persistence.entity.MessageEntity.execute(MessageEntity.java:29)   at org.activiti.engine.impl.cmd.ExecuteJobsCmd.execute(ExecuteJobsCmd.java:88)   … 13 moreCaused by: org.activiti.engine.impl.javax.el.MethodNotFoundException: Cannot find method doStuff with 0 parameters in class org.activiti.test.MainProcess   at org.activiti.engine.impl.javax.el.BeanELResolver.invoke(BeanELResolver.java:480)   at org.activiti.engine.impl.javax.el.CompositeELResolver.invoke(CompositeELResolver.java:397)   at org.activiti.engine.impl.juel.AstMethod.invoke(AstMethod.java:91)   at org.activiti.engine.impl.juel.AstMethod.eval(AstMethod.java:75)   at org.activiti.engine.impl.juel.AstEval.eval(AstEval.java:50)   at org.activiti.engine.impl.juel.AstNode.getValue(AstNode.java:26)   at org.activiti.engine.impl.juel.TreeValueExpression.getValue(TreeValueExpression.java:114)   at org.activiti.engine.impl.delegate.ExpressionGetInvocation.invoke(ExpressionGetInvocation.java:33)   at org.activiti.engine.impl.delegate.DelegateInvocation.proceed(DelegateInvocation.java:37)   at org.activiti.engine.impl.delegate.DefaultDelegateInterceptor.handleInvocation(DefaultDelegateInterceptor.java:25)   at org.activiti.engine.impl.el.JuelExpression.getValue(JuelExpression.java:48)   … 33 more‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍


This looks like strange considering that the implementation of the method called by the task is the following:
public class MainProcess {   private Logger logger = Logger.getLogger(this.getClass());      public void doStuff() {      logger.debug("Hello");      throw new RuntimeException();   }}‍‍‍‍‍‍‍‍


Activiti configuration is attached.

Please, help me!
1 REPLY 1

alef
Champ in-the-making
Champ in-the-making
False alarm, sorry!!