[
http://jira.jboss.com/jira/browse/JBPM-1143?page=comments#action_12403122 ]
Jeff DeLong commented on JBPM-1143:
-----------------------------------
Oh, and perhaps the expression evaluator could be modified to remove trailing whitespace?
Decision Nodes not working, exception says decision selected non
existing transition - reference SOA-450
--------------------------------------------------------------------------------------------------------
Key: JBPM-1143
URL:
http://jira.jboss.com/jira/browse/JBPM-1143
Project: JBoss jBPM
Issue Type: Bug
Components: Core Engine
Affects Versions: jBPM jPDL 3.2.2
Environment: T60 laptop running RHEL 5, Java 1.5, SOA Platform 4.2 CR3
Reporter: Jeff DeLong
Assigned To: Tom Baeyens
I have defined a process definition with the following decision node where Account is a
POJO. I can see that the Account as a jBPM variable in the jBPM Admin Console.
<decision name="Sufficient Funds in Account?"
expression="#{account.balance > tollTransaction.toll} ">
<transition to="Post Toll Transaction to Account"
name="true"></transition>
<transition to="Replenish Account"
name="false"></transition>
</decision>
When I execute the process, I get the following errors:
15:55:39,123 ERROR [GraphElement] action threw exception: decision 'Sufficient Funds
in Account?' selected non existing transition 'true '
org.jbpm.JbpmException: decision 'Sufficient Funds in Account?' selected non
existing transition 'true '
at org.jbpm.graph.node.Decision.execute(Decision.java:102)
at org.jbpm.graph.def.Node.enter(Node.java:319)
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:585)
at
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
at org.jbpm.graph.def.Node$$EnhancerByCGLIB$$b7f2fc0f.enter(<generated>)
at org.jbpm.graph.def.Transition.take(Transition.java:151)
at org.jbpm.graph.def.Node.leave(Node.java:394)
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:585)
at
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
at org.jbpm.graph.def.Node$$EnhancerByCGLIB$$b7f2fc0f.leave(<generated>)
at org.jbpm.graph.exe.Token.signal(Token.java:195)
at org.jbpm.graph.exe.Token.signal(Token.java:140)
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:585)
at
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
at org.jbpm.graph.exe.Token$$EnhancerByCGLIB$$e74c698b.signal(<generated>)
at org.jbpm.command.SignalCommand.execute(SignalCommand.java:91)
at
org.jboss.soa.esb.services.jbpm.cmd.AsyncProcessSignal$AsyncSignalAction.execute(AsyncProcessSignal.java:287)
at org.jbpm.graph.def.Action.execute(Action.java:122)
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:585)
at
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
at
org.jbpm.graph.def.Action$$EnhancerByCGLIB$$b15cf56b.execute(<generated>)
at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:264)
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:585)
at
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
at
org.jbpm.graph.def.Node$$EnhancerByCGLIB$$b7f2fc0f.executeAction(<generated>)
at org.jbpm.job.ExecuteActionJob.execute(ExecuteActionJob.java:32)
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:585)
at
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
at org.jbpm.job.Job$$EnhancerByCGLIB$$27ab04c8.execute(<generated>)
at
org.jbpm.job.executor.JobExecutorThread.executeJob(JobExecutorThread.java:164)
at org.jbpm.job.executor.JobExecutorThread.run(JobExecutorThread.java:64)
I then tried the following (simpler) expression, and got a similar result:
#{account.balance > 100}
16:07:28,807 ERROR [GraphElement] action threw exception: decision 'Sufficient Funds
in Account?' selected non existing transition 'false '
org.jbpm.JbpmException: decision 'Sufficient Funds in Account?' selected non
existing transition 'false '
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira