[rules-users] RuleBase.removeRule leads to NoClassDefFoundError

Christian Nedregaard christian at kranium.no
Fri May 29 06:42:40 EDT 2009


Hi.

I work with Steinar.

As he mentioned upgrading to 5.0 is not an option for us.

Now that we have worked around this problem during compilation (by switching
off beta node sharing, see https://jira.jboss.org/jira/browse/JBRULES-2098)
we are starting to see similiar problem during stateless session execution:

java.lang.NoClassDefFoundError:
com/telenor/cos/domain/core/productoffer/rules/subscriptiontype/Rule_Required
SubscriptionTypes_11084_0
at
com.telenor.cos.domain.core.productoffer.rules.subscriptiontype.Rule_RequiredSubscriptionTypes_11084_0Eval0In
voker.evaluate(Unknown Source)
at org.drools.rule.EvalCondition.isAllowed(EvalCondition.java:77)
at
org.drools.reteoo.EvalConditionNode.assertTuple(EvalConditionNode.java:148)
at
org.drools.reteoo.SingleTupleSinkAdapter.propagateAssertTuple(SingleTupleSinkAdapter.java:20)
at org.drools.reteoo.JoinNode.assertTuple(JoinNode.java:110) 
at
org.drools.reteoo.SingleTupleSinkAdapter.createAndPropagateAssertTuple(SingleTupleSinkAdapter.java:55)
at
org.drools.reteoo.LeftInputAdapterNode.assertObject(LeftInputAdapterNode.java:116) 
at
org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:318)
at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:145) 
at
org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:299)
at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:162) 
at org.drools.reteoo.Rete.assertObject(Rete.java:175) 
at org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:192)
at
org.drools.reteoo.ReteooWorkingMemory.doInsert(ReteooWorkingMemory.java:71)
at
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:911)
at
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:883)
at
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:684)
at
org.drools.reteoo.ReteooStatelessSession.execute(ReteooStatelessSession.java:160)

We are seeing the same thing as during compilation: TupleNodes associated
with removed rules seems to have been left orphaned in the rete tree. 

I have not been able to find a workaround for this. If this has been fixed
in 5.0: Does anybody have any pointers or advice that can help us to create
a local patch for 4.0.7 for this? Any help would be much appreciated!

Kind regards
Christian


Steinar Haugen wrote:
> 
> Hi Edson,
> Thanks for your reply. Unfortunately, that is not yet an option for us,
> since we're still on JDK 1.4.2.
> 

-- 
View this message in context: http://www.nabble.com/RuleBase.removeRule-leads-to-NoClassDefFoundError-tp23657476p23777768.html
Sent from the drools - user mailing list archive at Nabble.com.




More information about the rules-users mailing list