[rules-users] NoClassDefFoundError when dynamically updating rulebase for rule using 'accumulate' CE

Edson Tirelli tirelli at post.com
Wed Jun 11 11:13:04 EDT 2008


    Seems a bug to me. Can you plz open a JIRA and attach a self contained
test case for us to reproduce the problem?

   Thanks

   []s
   Edson


2008/6/11 kunal <kshah at sensorlogic.com>:

>
> Yes, I just updated to 4.0.7 before couple of days. But I tried it out with
> 4.0.4 also with same results. So I don't think this is something introduced
> in 4.0.7, but not sure.
>
>
>
> Edson Tirelli-3 wrote:
> >
> >       Are you using drools 4.0.7?
> >
> >      []s
> >      Edson
> >
> > 2008/6/10 kunal <kshah at sensorlogic.com>:
> >
> >>
> >> I am dynamically adding/modifying rules (packages) to a loaded rule-base
> >> and
> >> having issues specifically when my rule contains accumulate CE. For an
> >> example, following is a rule which I am trying to add to my rulebase
> >> (which
> >> is already loaded in memory).
> >>
> >> rule "7d7fa7f1-164b-45a7-8e5a-c0c260815f9a"
> >>        enabled true
> >>        salience 0
> >>        no-loop true
> >>        agenda-group "DATA_ARRIVAL"
> >>        when
> >>                AgentID(agentId : agentId);
> >>                DeviceData()
> >>
> >>
> >>
> Property(key=="threshold",classifier=="7d7fa7f1-164b-45a7-8e5a-c0c260815f9a.Condition0",$prop_threshold0
> >> : value)
> >>                $total0: Number( doubleValue > $prop_threshold0)   from
> >> accumulate(
> >> DataPoint( $value0: value ) from
> >>
> >>
> dataService.getDataPoints("5e0de623-9a25-45a1-8bc5-745254c2576e","SPEED",3),
> >> average( $value0) )
> >>        then
> >>
> >>  agent.handleAction("rules.sl.7d7fa7f1-164b-45a7-8e5a-c0c260815f9a",0);
> >> end
> >>
> >> I am not getting any error (Rule validation or any other) when adding
> >> package with my rule to rulebase, but when getting following error, when
> >> rulebase is used thereafter:
> >>
> >> java.lang.NoClassDefFoundError:
> >> rules/sl/Rule_7d7fa7f1_164b_45a7_8e5a_c0c260815f9a_0
> >>        at
> >>
> >>
> rules.sl.Rule_7d7fa7f1_164b_45a7_8e5a_c0c260815f9a_0AccumulateExpression0Invoker.evaluate(Unknown
> >> Source)
> >>        at
> >>
> >>
> org.drools.base.accumulators.JavaAccumulatorFunctionExecutor.reverse(JavaAccumulatorFunctionExecutor.java:91)
> >>        at org.drools.rule.Accumulate.reverse(Accumulate.java:151)
> >>        at
> >> org.drools.reteoo.AccumulateNode.modifyTuple(AccumulateNode.java:376)
> >>        at
> >> org.drools.reteoo.AccumulateNode.retractObject(AccumulateNode.java:292)
> >>        at
> >>
> >>
> org.drools.reteoo.SingleObjectSinkAdapter.propagateRetractObject(SingleObjectSinkAdapter.java:32)
> >>        at
> >>
> >>
> org.drools.reteoo.RightInputAdapterNode.retractTuple(RightInputAdapterNode.java:124)
> >>        at
> >>
> >>
> org.drools.reteoo.SingleTupleSinkAdapter.propagateRetractTuple(SingleTupleSinkAdapter.java:38)
> >>        at org.drools.reteoo.FromNode.retractTuple(FromNode.java:130)
> >>        at
> >>
> >>
> org.drools.reteoo.CompositeTupleSinkAdapter.propagateRetractTuple(CompositeTupleSinkAdapter.java:52)
> >>        at org.drools.reteoo.JoinNode.retractTuple(JoinNode.java:231)
> >>        at
> >>
> >>
> org.drools.reteoo.CompositeTupleSinkAdapter.propagateRetractTuple(CompositeTupleSinkAdapter.java:52)
> >>        at org.drools.reteoo.JoinNode.retractObject(JoinNode.java:191)
> >>        at
> >>
> >>
> org.drools.reteoo.CompositeObjectSinkAdapter.propagateRetractObject(CompositeObjectSinkAdapter.java:375)
> >>        at
> >> org.drools.reteoo.ObjectTypeNode.retractObject(ObjectTypeNode.java:189)
> >>        at org.drools.reteoo.Rete.retractObject(Rete.java:215)
> >>        at
> >> org.drools.reteoo.ReteooRuleBase.retractObject(ReteooRuleBase.java:211)
> >>        at
> >>
> >>
> org.drools.reteoo.ReteooWorkingMemory.doRetract(ReteooWorkingMemory.java:79)
> >>        at
> >>
> >>
> org.drools.common.AbstractWorkingMemory.retract(AbstractWorkingMemory.java:1023)
> >>        at
> >>
> >>
> org.drools.common.AbstractWorkingMemory.retract(AbstractWorkingMemory.java:982)
> >>        at
> >> com.sensorlogic.rules.RuleAgent.retractMatchingFact(RuleAgent.java:283)
> >>        at
> com.sensorlogic.rules.RuleAgent.processFact(RuleAgent.java:264)
> >>        at com.sensorlogic.rules.RuleAgent.run(RuleAgent.java:342)
> >>        at
> >>
> >>
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> >>        at
> >>
> >>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> >>        at java.lang.Thread.run(Thread.java:595)
> >>
> >> I will appreciate any insight with this problem. My process of
> >> adding/updating rules dynamically works with all other rules I am using
> >> but
> >> only has issues with using 'accumulate' CE. Has someone encountered this
> >> before? Or just any ideas on what can cause NoClassDefFound for my added
> >> rule?
> >> --
> >> View this message in context:
> >>
> http://www.nabble.com/NoClassDefFoundError-when-dynamically-updating-rulebase-for-rule-using-%27accumulate%27-CE-tp17765904p17765904.html
> >> Sent from the drools - user mailing list archive at Nabble.com.
> >>
> >> _______________________________________________
> >> 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
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/NoClassDefFoundError-when-dynamically-updating-rulebase-for-rule-using-%27accumulate%27-CE-tp17765904p17778359.html
> Sent from the drools - user mailing list archive at Nabble.com.
>
> _______________________________________________
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20080611/bcf61d47/attachment.html 


More information about the rules-users mailing list