We have a simple process with a listener on a user task. In this listener we call an EL expression which calls a method on a spring bean. Everything seems to work but for some reason we see the following exception in the log files:
Nov 28, 2011 1:37:27 PM org.activiti.engine.impl.bpmn.parser.BpmnParse execute
SEVERE: Uknown exception
org.activiti.engine.impl.javax.el.ELException: Expression uses functions, but no function mapper was provided
at org.activiti.engine.impl.juel.Tree.bind(Tree.java:109)
at org.activiti.engine.impl.juel.TreeValueExpression.<init>(TreeValueExpression.java:65)
at org.activiti.engine.impl.juel.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:428)
at org.activiti.engine.impl.juel.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:73)
at org.activiti.engine.impl.el.ExpressionManager.createExpression(ExpressionManager.java:65)
at org.activiti.engine.impl.bpmn.parser.BpmnParse.parseServiceTask(BpmnParse.java:962)
at org.activiti.engine.impl.bpmn.parser.BpmnParse.parseActivities(BpmnParse.java:661)
at org.activiti.engine.impl.bpmn.parser.BpmnParse.parseScope(BpmnParse.java:504)
at org.activiti.engine.impl.bpmn.parser.BpmnParse.parseProcess(BpmnParse.java:479)
at org.activiti.engine.impl.bpmn.parser.BpmnParse.parseProcessDefinitions(BpmnParse.java:446)
at org.activiti.engine.impl.bpmn.parser.BpmnParse.parseRootElement(BpmnParse.java:218)
at org.activiti.engine.impl.bpmn.parser.BpmnParse.execute(BpmnParse.java:192)
at org.activiti.engine.impl.bpmn.deployer.BpmnDeployer.deploy(BpmnDeployer.java:81)
at org.activiti.engine.impl.persistence.deploy.DeploymentCache.deploy(DeploymentCache.java:37)
at org.activiti.engine.impl.persistence.entity.DeploymentManager.insertDeployment(DeploymentManager.java:39)
at org.activiti.engine.impl.cmd.DeployCmd.execute(DeployCmd.java:58)
at org.activiti.engine.impl.cmd.DeployCmd.execute(DeployCmd.java:30)
at org.activiti.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:24)
at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:42)
at org.activiti.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:42)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)
at org.activiti.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:40)
at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:33)
at org.activiti.engine.impl.RepositoryServiceImpl.deploy(RepositoryServiceImpl.java:43)
at org.activiti.engine.impl.repository.DeploymentBuilderImpl.deploy(DeploymentBuilderImpl.java:106)
at org.activiti.spring.SpringProcessEngineConfiguration.autoDeployResources(SpringProcessEngineConfiguration.java:142)
at org.activiti.spring.SpringProcessEngineConfiguration.buildProcessEngine(SpringProcessEngineConfiguration.java:61)
at org.activiti.spring.ProcessEngineFactoryBean.getObject(ProcessEngineFactoryBean.java:56)
at org.activiti.spring.ProcessEngineFactoryBean.getObject(ProcessEngineFactoryBean.java:32)
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:142)
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:102)
at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1440)
…
Any idea why we get this exception?
I had a little look at the source code of Activiti 5.8 and the default implementations of these JUEL classes are quite empty and will easily raise this exception if they get called. So is there something missing in our configuration of activiti?