Are you using drools 4.0.7?

     []s
     Edson

2008/6/10 kunal <kshah@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@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