[
http://jira.jboss.com/jira/browse/JBPM-1143?page=comments#action_12403520 ]
Jeff DeLong commented on JBPM-1143:
-----------------------------------
I did verify that removing the trailing whitespace did fix the problem with the decision
node; and agree with Ronald that the error message is indeed accurate, although when not
looking closely the error message appears incorrect, because of the added white space.
It probably was a slip of the keyboard, however the challenge for the user is that in
looking at the Expression in the Properties view one cannot tell that there is added white
space. So it would be useful for it to eliminate trailing white space in the decision
expression property editor. It would probably be useful to eliminate trailing whitespace
in all property editors. While expressions are where a trailing white space can do most
harm, I checked other properties (e.g., transition name) and they have a similar
characteristic. This may or may not be a bug (depends on what Koen intended), but I agree
with Ronald that there are two separate issues here.
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