[rules-users] "unable to resolve token" in simple mvel RHS

Godmar Back godmar at gmail.com
Tue Feb 19 14:28:33 EST 2008


> md5sum ../WEB-INF/lib/mvel14-1.2.21.jar
67b9f1dd16b353327a9ef4fe708a8b62  ../WEB-INF/lib/mvel14-1.2.21.jar

(I'm pretty certain this time...)

On Feb 19, 2008 1:41 PM, Edson Tirelli <tirelli at post.com> wrote:
>
>    Godmar,
>
>    Can you please confirm what version of MVEL you are using?
>
>    Thanks,
>        Edson
>
> 2008/2/19, Godmar Back <godmar at gmail.com>:
> >
> >
> >
> > Hi,
> >
> > with Drools 4.0.4 and MVEL 1.4, simple RHS like this one fail for me:
> >
> > ---
> > package test;
> >
> > dialect "mvel"
> >
> > rule "Rule #1"
> > when
> > then
> >     System.out.println("now computing 1+1...");
> >     Integer two = new Integer(2);
> >     System.out.println(two);
> > end
> > ---
> >
> > now computing 1+1...
> > org.mvel.CompileException: unable to resolve property: two
> >         at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:288)
> >         at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:109)
> >         at
> org.mvel.ast.ContextDeepPropertyNode.getReducedValueAccelerated(ContextDeepPropertyNode.java:26)
> >         at
> org.mvel.ast.PropertyASTNode.initializePropertyNode(PropertyASTNode.java:123)
> >         at
> org.mvel.ast.PropertyASTNode.getReducedValueAccelerated(PropertyASTNode.java:26)
> >         at
> org.mvel.ExecutableAccessor.getValue(ExecutableAccessor.java:45)
> >         at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:521)
> >         at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:260)
> >         at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:109)
> >         at
> org.mvel.ast.LiteralDeepPropertyNode.getReducedValueAccelerated(LiteralDeepPropertyNode.java:28)
> >         at org.mvel.MVELRuntime.execute(MVELRuntime.java:88)
> >         at
> org.mvel.CompiledExpression.getValue(CompiledExpression.java:111)
> >         at org.mvel.MVEL.executeExpression(MVEL.java:235)
> >         at
> org.drools.base.mvel.MVELConsequence.evaluate(MVELConsequence.java:47)
> >         at
> org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:550)
> >         at
> org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:514)
> >         at
> org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:471)
> >         at
> org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:433)
> >         at
> org.libx.autodetect.DroolsDriver$Host.fireAllRules(DroolsDriver.java:63)
> >         at org.libx.autodetect.DroolsDriver.main(DroolsDriver.java:136)
> > Caused by: org.mvel.PropertyAccessException: unable to resolve property:
> two
> >         at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.getBeanProperty(ReflectiveAccessorOptimizer.java:382)
> >         at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:257)
> >         ... 19 more
> > org.mvel.CompileException: unable to resolve token: two
> >         at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:297)
> >         at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:109)
> >         at
> org.mvel.ast.LiteralDeepPropertyNode.getReducedValueAccelerated(LiteralDeepPropertyNode.java:28)
> >         at org.mvel.MVELRuntime.execute(MVELRuntime.java:88)
> >         at
> org.mvel.CompiledExpression.getValue(CompiledExpression.java:111)
> >         at org.mvel.MVEL.executeExpression(MVEL.java:235)
> >         at
> org.drools.base.mvel.MVELConsequence.evaluate(MVELConsequence.java:47)
> >         at
> org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:550)
> >         at
> org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:514)
> >         at
> org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:471)
> >         at
> org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:433)
> >         at
> org.libx.autodetect.DroolsDriver$Host.fireAllRules(DroolsDriver.java:63)
> >         at org.libx.autodetect.DroolsDriver.main(DroolsDriver.java:136)
> > Caused by: org.mvel.UnresolveablePropertyException: unable to resolve
> token: two
> >         at
> org.mvel.ast.PropertyASTNode.initializePropertyNode(PropertyASTNode.java:127)
> >         at
> org.mvel.ast.PropertyASTNode.getReducedValueAccelerated(PropertyASTNode.java:26)
> >         at
> org.mvel.ExecutableAccessor.getValue(ExecutableAccessor.java:45)
> >         at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:521)
> >         at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:260)
> >         ... 12 more
> > Caused by: org.mvel.CompileException: unable to resolve property: two
> >         at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:288)
> >         at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:109)
> >         at
> org.mvel.ast.ContextDeepPropertyNode.getReducedValueAccelerated(ContextDeepPropertyNode.java:26)
> >         at
> org.mvel.ast.PropertyASTNode.initializePropertyNode(PropertyASTNode.java:123)
> >         ... 16 more
> > Caused by: org.mvel.PropertyAccessException: unable to resolve property:
> two
> >         at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.getBeanProperty(ReflectiveAccessorOptimizer.java:382)
> >         at
> org.mvel.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:257)
> >         ... 19 more
> >
> > etc.
> >
> > It appears to be related to the use of MVEL - the same rule with
> > 'dialect "java"' executes correctly.
> >
> > - Godmar
> > _______________________________________________
> > rules-users mailing list
> > rules-users at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/rules-users
> >
>
>
>
> --
>   Edson Tirelli
>   JBoss Drools Core Development
>    Office: +55 11 3529-6000
>   Mobile: +55 11 9287-5646
>   JBoss, a division of Red Hat @ www.jboss.com
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>



More information about the rules-users mailing list