[rules-users] Is 3.1 M1 backward compatible?

Mark Proctor mproctor at codehaus.org
Wed Feb 21 09:41:08 EST 2007


The syntax is backwards compatible. However as the release notes mention 
we no longer autobox primitives, as you can now work directly with them, 
which will cause issues in  old drls that assumed numbers are wrapped. 
Also pojos must have a default constructor and not use the final keyword 
at the class and method level - we are actively looking to add more 
flexability to this case.

Mark
Dandrea Francesco wrote:
> Hi all, 
> the attached example runs ok (slow but ok) on JBoss Rules 3.0.5
> Now when I run it with 3.1M1 I have an exception (I pasted it at the end
> of the mail).
> Is 3.1 M1 backward compatible? Is this a bug? Should I change the code
> in some way?
> Thanks a lot
>  
> org.drools.RuntimeDroolsException: Exception executing predicate
> it.telecomitalia.netbox.Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0Pr
> edicate0Invoker at 60bd060e
>
> at
> org.drools.rule.PredicateConstraint.isAllowedCachedRight(PredicateConstr
> aint.java:196)
>
> at
> org.drools.common.SingleBetaConstraints.isAllowedCachedRight(SingleBetaC
> onstraints.java:111)
>
> at org.drools.reteoo.NotNode.assertObject(NotNode.java:149)
>
> at
> org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(Compo
> siteObjectSinkAdapter.java:313)
>
> at
> org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:163)
>
> at org.drools.reteoo.Rete.assertObject(Rete.java:121)
>
> at
> org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:196)
>
> at
> org.drools.reteoo.ReteooWorkingMemory.doAssertObject(ReteooWorkingMemory
> .java:68)
>
> at
> org.drools.common.AbstractWorkingMemory.assertObject(AbstractWorkingMemo
> ry.java:724)
>
> at
> org.drools.base.DefaultKnowledgeHelper.assertObject(DefaultKnowledgeHelp
> er.java:72)
>
> at
> org.drools.base.DefaultKnowledgeHelper.assertObject(DefaultKnowledgeHelp
> er.java:66)
>
> at
> it.telecomitalia.netbox.Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0.c
> onsequence(Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0.java:17)
>
> at
> it.telecomitalia.netbox.Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0Co
> nsequenceInvoker.evaluate(Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0
> ConsequenceInvoker.java:22)
>
> at
> org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:467)
>
> at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:431)
>
> at
> org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemo
> ry.java:360)
>
> at
> org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemo
> ry.java:341)
>
> at
> it.telecomitalia.netbox.MainProvaClass.fireRuleEngineProva(MainProvaClas
> s.java:85)
>
> at it.telecomitalia.netbox.MainProvaClass.main(MainProvaClass.java:23)
>
> Caused by: java.lang.ClassCastException:
> it.telecomitalia.netbox.AggregatedAlarmShadowProxy
>
> at
> org.drools.base.it.telecomitalia.netbox.AllarmeTf$getReferencedElement.g
> etValue(Unknown Source)
>
> at
> org.drools.base.ClassFieldExtractor.getValue(ClassFieldExtractor.java:79
> )
>
> at org.drools.rule.Declaration.getValue(Declaration.java:156)
>
> at
> it.telecomitalia.netbox.Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0Pr
> edicate0Invoker.evaluate(Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0P
> redicate0Invoker.java:14)
>
> at
> org.drools.rule.PredicateConstraint.isAllowedCachedRight(PredicateConstr
> aint.java:190)
>
> ... 18 more
>
> org.drools.RuntimeDroolsException: Exception executing predicate
> it.telecomitalia.netbox.Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0Pr
> edicate0Invoker at 60bd060e
>
> at
> org.drools.rule.PredicateConstraint.isAllowedCachedRight(PredicateConstr
> aint.java:196)
>
> at
> org.drools.common.SingleBetaConstraints.isAllowedCachedRight(SingleBetaC
> onstraints.java:111)
>
> at org.drools.reteoo.NotNode.assertObject(NotNode.java:149)
>
> at
> org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(Compo
> siteObjectSinkAdapter.java:313)
>
> at
> org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:163)
>
> at org.drools.reteoo.Rete.assertObject(Rete.java:121)
>
> at
> org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:196)
>
> at
> org.drools.reteoo.ReteooWorkingMemory.doAssertObject(ReteooWorkingMemory
> .java:68)
>
> at
> org.drools.common.AbstractWorkingMemory.assertObject(AbstractWorkingMemo
> ry.java:724)
>
> at
> org.drools.base.DefaultKnowledgeHelper.assertObject(DefaultKnowledgeHelp
> er.java:72)
>
> at
> org.drools.base.DefaultKnowledgeHelper.assertObject(DefaultKnowledgeHelp
> er.java:66)
>
> at
> it.telecomitalia.netbox.Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0.c
> onsequence(Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0.java:17)
>
> at
> it.telecomitalia.netbox.Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0Co
> nsequenceInvoker.evaluate(Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0
> ConsequenceInvoker.java:22)
>
> at
> org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:467)
>
> at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:431)
>
> at
> org.drools.common.AbstractWorkingMemory.doOtherwise(AbstractWorkingMemor
> y.java:384)
>
> at
> org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemo
> ry.java:366)
>
> at
> org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemo
> ry.java:341)
>
> at
> it.telecomitalia.netbox.MainProvaClass.fireRuleEngineProva(MainProvaClas
> s.java:85)
>
> at it.telecomitalia.netbox.MainProvaClass.main(MainProvaClass.java:23)
>
> Caused by: java.lang.ClassCastException:
> it.telecomitalia.netbox.AggregatedAlarmShadowProxy
>
> at
> org.drools.base.it.telecomitalia.netbox.AllarmeTf$getReferencedElement.g
> etValue(Unknown Source)
>
> at
> org.drools.base.ClassFieldExtractor.getValue(ClassFieldExtractor.java:79
> )
>
> at org.drools.rule.Declaration.getValue(Declaration.java:156)
>
> at
> it.telecomitalia.netbox.Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0Pr
> edicate0Invoker.evaluate(Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0P
> redicate0Invoker.java:14)
>
> at
> org.drools.rule.PredicateConstraint.isAllowedCachedRight(PredicateConstr
> aint.java:190)
>
> ... 19 more
>
> org.drools.spi.ConsequenceException: org.drools.RuntimeDroolsException:
> Exception executing predicate
> it.telecomitalia.netbox.Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0Pr
> edicate0Invoker at 60bd060e
>
> at
> org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:471)
>
> at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:431)
>
> at
> org.drools.common.AbstractWorkingMemory.doOtherwise(AbstractWorkingMemor
> y.java:384)
>
> at
> org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemo
> ry.java:366)
>
> at
> org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemo
> ry.java:341)
>
> at
> it.telecomitalia.netbox.MainProvaClass.fireRuleEngineProva(MainProvaClas
> s.java:85)
>
> at it.telecomitalia.netbox.MainProvaClass.main(MainProvaClass.java:23)
>
> Caused by: org.drools.RuntimeDroolsException: Exception executing
> predicate
> it.telecomitalia.netbox.Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0Pr
> edicate0Invoker at 60bd060e
>
> at
> org.drools.rule.PredicateConstraint.isAllowedCachedRight(PredicateConstr
> aint.java:196)
>
> at
> org.drools.common.SingleBetaConstraints.isAllowedCachedRight(SingleBetaC
> onstraints.java:111)
>
> at org.drools.reteoo.NotNode.assertObject(NotNode.java:149)
>
> at
> org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(Compo
> siteObjectSinkAdapter.java:313)
>
> at
> org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:163)
>
> at org.drools.reteoo.Rete.assertObject(Rete.java:121)
>
> at
> org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:196)
>
> at
> org.drools.reteoo.ReteooWorkingMemory.doAssertObject(ReteooWorkingMemory
> .java:68)
>
> at
> org.drools.common.AbstractWorkingMemory.assertObject(AbstractWorkingMemo
> ry.java:724)
>
> at
> org.drools.base.DefaultKnowledgeHelper.assertObject(DefaultKnowledgeHelp
> er.java:72)
>
> at
> org.drools.base.DefaultKnowledgeHelper.assertObject(DefaultKnowledgeHelp
> er.java:66)
>
> at
> it.telecomitalia.netbox.Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0.c
> onsequence(Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0.java:17)
>
> at
> it.telecomitalia.netbox.Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0Co
> nsequenceInvoker.evaluate(Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0
> ConsequenceInvoker.java:22)
>
> at
> org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:467)
>
> ... 6 more
>
> Caused by: java.lang.ClassCastException:
> it.telecomitalia.netbox.AggregatedAlarmShadowProxy
>
> at
> org.drools.base.it.telecomitalia.netbox.AllarmeTf$getReferencedElement.g
> etValue(Unknown Source)
>
> at
> org.drools.base.ClassFieldExtractor.getValue(ClassFieldExtractor.java:79
> )
>
> at org.drools.rule.Declaration.getValue(Declaration.java:156)
>
> at
> it.telecomitalia.netbox.Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0Pr
> edicate0Invoker.evaluate(Rule_Nuovo_Allarme_Misura_No_Allarme_Oggetto_0P
> redicate0Invoker.java:14)
>
> at
> org.drools.rule.PredicateConstraint.isAllowedCachedRight(PredicateConstr
> aint.java:190)
>
> ... 19 more
> --------------------------------------------------------------------
>
> CONFIDENTIALITY NOTICE
>
> This message and its attachments are addressed solely to the persons above and may contain confidential information. If you have received the message in error, be informed that any use of the content hereof is prohibited. Please return it immediately to the sender and delete the message. Should you have any questions, please contact us by replying to webmaster at telecomitalia.it.
>
>         Thank you
>
>                                         www.telecomitalia.it
>
> --------------------------------------------------------------------
>                         
>   
> ------------------------------------------------------------------------
>
> _______________________________________________
> 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/20070221/100f1a98/attachment.html 


More information about the rules-users mailing list