[rules-users] Drools crash on simple drl
Michael Anstis
michael.anstis at gmail.com
Tue Apr 17 11:53:23 EDT 2012
It's the right place :)
It sounds like a bug (to me) :(
The core engine developers are trawling through a bunch of urgent bugs for
other requirements and may not answer here immediately.
If you've not heard anything in a week of two, I'd go banging on the door
again...
With kind regards,
Mike
On 17 April 2012 16:42, Shur, Bob <robert.shur at hp.com> wrote:
> I'm repeating this post because I didn't get an answer last time. Is this
> the wrong place to report a bug? If so, where is the right place? I'm
> trying to understand whether this is really a bug or whether I'm doing
> something wrong.
>
> I have what looks to me like a Drools bug on a simple drl with declared
> classes. I'm using version drools-distribution-5.3.0.Final.
>
> I'm invoking it with this:
>
> StatelessKnowledgeSession ksession =
> kbase.newStatelessKnowledgeSession();
> List<Object> facts = new ArrayList<Object>();
> ksession.execute( facts );
>
> =============================
>
> I get this crash:
>
> Exception in thread "main" java.lang.NoClassDefFoundError:
> com/sample/Cap
> at ASMAccessorImpl_129541121334339192620.getValue(Unknown Source)
> at
> org.mvel2.optimizers.dynamic.DynamicGetAccessor.getValue(DynamicGetAccessor.java:73)
> at
> org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:103)
> at
> org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:42)
> at org.mvel2.MVEL.executeExpression(MVEL.java:952)
> ...
>
> ==========================
>
> Here's the drl file:
>
> package com.sample
>
> import com.sample.*;
>
> declare Item
> id : int;
> end
>
> declare Priority
> name : String;
> priority : int;
> end
>
> declare Cap
> item : Item;
> name : String
> end
>
> rule "split cart into items"
> when
> then
> insert(new Item(1));
> insert(new Item(2));
> insert(new Item(3));
> end
>
> rule "Priorities"
> when
> then
> insert(new Priority("A", 3));
> insert(new Priority("B", 2));
> insert(new Priority("C", 5));
> end
>
> rule "Caps"
> when
> $i : Item()
> $p : Priority($name : name)
> then
> insert(new Cap($i, $name));
> end
>
> rule "test"
> when
> $i : Item()
> Cap(item.id == $i.id)
> then
> System.out.println("Cap");
> end
>
> ====================
>
> Some observations:
> - If I comment out any of the insert lines, the crash goes away
> - If I change the first field of class Cap to be id:int instead of
> item:Item and make the corresponding changes, the crash goes away
>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20120417/f7f6deb4/attachment.html
More information about the rules-users
mailing list