[rules-users] Drools crash on simple drl

Shur, Bob robert.shur at hp.com
Fri Apr 13 14:06:22 EDT 2012


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



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20120413/921d478f/attachment.html 


More information about the rules-users mailing list