JBPM4.3变量表达式不能以数字开头
当我配置节点超时使用以数字开头的表达式变量如下:
<state name="guardedWait" g="98,46,127,52"> <on event="timeout"> <timer duedate="#{4c6771e788b511df9fe80016eca5d82f}" repeat="#{repeat}" /> <event-listener /> </on> <transition name="go on" to="next step" g="-16,-17"/></state>?JBPM报异常如下:
org.jbpm.api.JbpmException: script evaluation error: javax.el.ELException: Error parsing '#{4c6771e788b511df9fe80016eca5d82f}': syntax error at position 3, encountered 'c6771e788b511df9fe80016eca5d82f', expected '}'at org.jbpm.pvm.internal.script.ScriptManager.evaluate(ScriptManager.java:130)at org.jbpm.pvm.internal.script.ScriptManager.evaluate(ScriptManager.java:118)at org.jbpm.pvm.internal.script.ScriptManager.evaluateExpression(ScriptManager.java:90)at org.jbpm.pvm.internal.job.TimerImpl.setDueDateDescription(TimerImpl.java:76)at org.jbpm.pvm.internal.model.ScopeInstanceImpl.createTimer(ScopeInstanceImpl.java:303)at org.jbpm.pvm.internal.model.ScopeInstanceImpl.initializeTimers(ScopeInstanceImpl.java:323)at org.jbpm.pvm.internal.model.ExecutionImpl.initializeScopes(ExecutionImpl.java:238)at org.jbpm.pvm.internal.model.ExecutionImpl.start(ExecutionImpl.java:213)at org.jbpm.pvm.internal.cmd.StartProcessInstanceCmd.execute(StartProcessInstanceCmd.java:61)at org.jbpm.pvm.internal.cmd.StartProcessInstanceCmd.execute(StartProcessInstanceCmd.java:37)at org.jbpm.pvm.internal.svc.DefaultCommandService.execute(DefaultCommandService.java:42)at org.jbpm.pvm.internal.tx.SpringCommandCallback.doInTransaction(SpringCommandCallback.java:45)at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)at org.jbpm.pvm.internal.tx.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:55)at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.executeInNewEnvironment(EnvironmentInterceptor.java:53)at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:40)at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:55)at org.jbpm.pvm.internal.svc.ExecutionServiceImpl.startProcessInstanceById(ExecutionServiceImpl.java:58)at cn.ceopen.xframework.workflow.biz.impl.FlowEngineBizImpl.startProcess(FlowEngineBizImpl.java:1305)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:597)at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)at $Proxy4.startProcess(Unknown Source)at cn.ceopen.xproduct.workflow.biz.impl.FlowExecutionBizImpl.startProcess(FlowExecutionBizImpl.java:111)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:597)at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)at $Proxy12.startProcess(Unknown Source)at cn.ceopen.xproduct.workflow.biz.TestSerialTaskNode.testSerialTaskNode(TestSerialTaskNode.java:84)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:597)at junit.framework.TestCase.runTest(TestCase.java:168)at junit.framework.TestCase.runBare(TestCase.java:134)at junit.framework.TestResult$1.protect(TestResult.java:110)at junit.framework.TestResult.runProtected(TestResult.java:128)at junit.framework.TestResult.run(TestResult.java:113)at junit.framework.TestCase.run(TestCase.java:124)at junit.framework.TestSuite.runTest(TestSuite.java:243)at junit.framework.TestSuite.run(TestSuite.java:238)at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)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: javax.script.ScriptException: javax.el.ELException: Error parsing '#{4c6771e788b511df9fe80016eca5d82f}': syntax error at position 3, encountered 'c6771e788b511df9fe80016eca5d82f', expected '}'at org.jbpm.pvm.internal.script.JuelScriptEngine.parse(JuelScriptEngine.java:167)at org.jbpm.pvm.internal.script.JuelScriptEngine.eval(JuelScriptEngine.java:62)at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:247)at org.jbpm.pvm.internal.script.ScriptManager.evaluate(ScriptManager.java:126)... 65 moreCaused by: javax.el.ELException: Error parsing '#{4c6771e788b511df9fe80016eca5d82f}': syntax error at position 3, encountered 'c6771e788b511df9fe80016eca5d82f', expected '}'at de.odysseus.el.tree.impl.Builder.build(Builder.java:114)at de.odysseus.el.tree.TreeStore.get(TreeStore.java:62)at de.odysseus.el.TreeValueExpression.<init>(TreeValueExpression.java:68)at de.odysseus.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:203)at de.odysseus.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:74)at org.jbpm.pvm.internal.script.JuelScriptEngine.parse(JuelScriptEngine.java:162)... 68 more??