cancel
Showing results for 
Search instead for 
Did you mean: 

[Need helps] Using expression prolems

holysoul
Champ in-the-making
Champ in-the-making
Dear all.
I've just started using Activiti BPM , it 's really awesome. However, I have problems now, it takes me hours this afternoon.
First I created a java class
package org.bpmnwithactiviti.chapter1;public class Test {   public void sayHello(){      System.out.println("Hello World");   }}‍‍‍‍‍‍‍‍‍‍


Then, a simple Activiti Diagram
<?xml version="1.0" encoding="UTF-8"?><definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/test">  <process id="testBpm" name="My process" isExecutable="true">    <startEvent id="startevent1" name="Start"></startEvent>    <serviceTask id="servicetask1" name="Service Task" activiti:expression="#{testExpression.sayHello()}"></serviceTask>    <endEvent id="endevent1" name="End"></endEvent>    <sequenceFlow id="flow1" sourceRef="startevent1" targetRef="servicetask1"></sequenceFlow>    <sequenceFlow id="flow2" sourceRef="servicetask1" targetRef="endevent1"></sequenceFlow>  </process></definitions>‍‍‍‍‍‍‍‍‍‍‍‍

I also define bean xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xsi:schemaLocation="http://www.springframework.org/schema/beans   http://www.springframework.org/schema/beans/spring-beans.xsd">   <bean id="processEngineConfiguration"      class="org.activiti.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration">      <property name="databaseSchemaUpdate" value="true" />      <property name="history" value="full" />      <property name="jobExecutorActivate" value="false" />   </bean>   <bean id="testExpression" class="org.bpmnwithactiviti.chapter1.Test">   </bean></beans>‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍


A small unit test to run
package org.bpmnwithactiviti.chapter1;import org.activiti.engine.ProcessEngine;import org.activiti.engine.ProcessEngineConfiguration;import org.activiti.engine.RepositoryService;import org.activiti.engine.RuntimeService;import org.activiti.engine.runtime.ProcessInstance;import org.junit.Test;public class SimpleProcessTest {      @Test   public void startBookOrder() {      ProcessEngine processEngine = ProcessEngineConfiguration         .createStandaloneInMemProcessEngineConfiguration()          .buildProcessEngine();              RuntimeService runtimeService = processEngine.getRuntimeService();       RepositoryService repositoryService = processEngine.getRepositoryService();      repositoryService.createDeployment()         .addClasspathResource("chapter1/test.bpmn20.xml")         .deploy();      ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(            "testBpm");   }}‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍


And I have errors.
org.activiti.engine.ActivitiException: Unknown property used in expression   at org.activiti.engine.impl.el.JuelExpression.getValue(JuelExpression.java:55)   at org.activiti.engine.impl.bpmn.behavior.ServiceTaskExpressionActivityBehavior.execute(ServiceTaskExpressionActivityBehavior.java:39)   at org.activiti.engine.impl.pvm.runtime.AtomicOperationActivityExecute.execute(AtomicOperationActivityExecute.java:44)   at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:77)   at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:530)   at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:525)   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:77)   at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:530)   at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:525)   at org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:49)   at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:77)   at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:530)   at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:525)   at org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionCreateScope.execute(AtomicOperationTransitionCreateScope.java:49)   at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:77)   at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:530)   at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:525)   at org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionNotifyListenerTake.execute(AtomicOperationTransitionNotifyListenerTake.java:65)   at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:77)   at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:530)   at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:525)   at org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionDestroyScope.execute(AtomicOperationTransitionDestroyScope.java:115)   at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:77)   at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:530)   at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:525)   at org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionNotifyListenerEnd.eventNotificationsCompleted(AtomicOperationTransitionNotifyListenerEnd.java:36)   at org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:56)   at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:77)   at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:530)   at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:525)   at org.activiti.engine.impl.persistence.entity.ExecutionEntity.take(ExecutionEntity.java:365)   at org.activiti.engine.impl.bpmn.behavior.BpmnActivityBehavior.performOutgoingBehavior(BpmnActivityBehavior.java:102)   at org.activiti.engine.impl.bpmn.behavior.BpmnActivityBehavior.performDefaultOutgoingBehavior(BpmnActivityBehavior.java:51)   at org.activiti.engine.impl.bpmn.behavior.FlowNodeActivityBehavior.leave(FlowNodeActivityBehavior.java:44)   at org.activiti.engine.impl.bpmn.behavior.FlowNodeActivityBehavior.execute(FlowNodeActivityBehavior.java:36)   at org.activiti.engine.impl.pvm.runtime.AtomicOperationActivityExecute.execute(AtomicOperationActivityExecute.java:44)   at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:77)   at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:530)   at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:525)   at org.activiti.engine.impl.pvm.runtime.AtomicOperationProcessStartInitial.eventNotificationsCompleted(AtomicOperationProcessStartInitial.java:46)   at org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:56)   at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:77)   at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:530)   at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:525)   at org.activiti.engine.impl.pvm.runtime.AtomicOperationProcessStart.eventNotificationsCompleted(AtomicOperationProcessStart.java:45)   at org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:56)   at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:77)   at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:530)   at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:525)   at org.activiti.engine.impl.persistence.entity.ExecutionEntity.start(ExecutionEntity.java:319)   at org.activiti.engine.impl.cmd.StartProcessInstanceCmd.execute(StartProcessInstanceCmd.java:72)   at org.activiti.engine.impl.cmd.StartProcessInstanceCmd.execute(StartProcessInstanceCmd.java:31)   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.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:33)   at org.activiti.engine.impl.RuntimeServiceImpl.startProcessInstanceByKey(RuntimeServiceImpl.java:46)   at org.bpmnwithactiviti.chapter1.SimpleProcessTest.startBookOrder(SimpleProcessTest.java:26)   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)   at java.lang.reflect.Method.invoke(Method.java:606)   at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)   at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)   at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)   at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)   at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)   at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)   at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)   at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)   at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)   at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)   at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)   at org.junit.runners.ParentRunner.run(ParentRunner.java:236)   at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)   at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)   at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)   at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)   at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)   at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)Caused by: org.activiti.engine.impl.javax.el.PropertyNotFoundException: Cannot resolve identifier 'testExpression'   at org.activiti.engine.impl.juel.AstIdentifier.eval(AstIdentifier.java:83)   at org.activiti.engine.impl.juel.AstMethod.invoke(AstMethod.java:79)   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:50)   … 80 more‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍


Oh, why Smiley Sad . Please, help me, I am so confusing.
1 REPLY 1

mmaker1234
Champ in-the-making
Champ in-the-making
There's something strange in your configuration (bean) file:<code>…spring-beans.xsd">

" rel="nofollow">http://www.springframework.org/schema/beans/spring-beans.xsd">

</a> <bean…</code>which might invalidate the file and make Activiti to discard it, i.e. to run without this configuration.