Events 流口水。无法转换为java.lang.Number

Events 流口水。无法转换为java.lang.Number,events,casting,drools,drools-fusion,Events,Casting,Drools,Drools Fusion,我有以下声明: declare Event @role(event) @timestamp(time) //@expires(100ms) //params : Map<String, Object> param : long time : long end declare Expectation event: Event state: int //-1 pending, 0 viol

我有以下声明:

 declare Event
     @role(event)
     @timestamp(time)
     //@expires(100ms)
     //params : Map<String, Object> 
     param : long
     time : long    
 end


 declare Expectation
     event: Event
     state: int //-1 pending, 0 violated, 1 fulfilled
 end

 declare ExpectationLeftArmStr extends Expectation
 end
而且,
$ev
是我在规则中使用的正确事件。 错误是:
rec.dom.LeftArmStr无法强制转换为java.lang.Number
,其中
LeftArmStr
$ev

Exception in thread "main" Exception executing consequence for rule "Operazions on LeftArmStr event    33399" in rec.dom: java.lang.ClassCastException: rec.dom.LeftArmStr cannot be cast to java.lang.Number
    at org.drools.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException(DefaultConsequenceExceptionHandler.java:39)
    at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1297)
    at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:1221)
    at org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1456)
    at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:710)
    at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:674)
    at org.drools.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:230)
    at org.rec.Session.notify(Session.java:136)
    at org.ece.reasoner.ReasonerECE.notifyEvent(ReasonerECE.java:73)
    at org.ece.main.MainLaucher.main(MainLaucher.java:245)
Caused by: java.lang.ClassCastException: rec.dom.LeftArmStr cannot be cast to java.lang.Number
    at org.drools.base.evaluators.BeforeEvaluatorDefinition$BeforeEvaluator.evaluateCachedRight(BeforeEvaluatorDefinition.java:306)
    at org.drools.rule.constraint.EvaluatorConstraint.isAllowedCachedRight(EvaluatorConstraint.java:80)
    at org.drools.common.SingleBetaConstraints.isAllowedCachedRight(SingleBetaConstraints.java:134)
    at org.drools.reteoo.JoinNode.propagateFromRight(JoinNode.java:156)
    at org.drools.reteoo.JoinNode.assertObject(JoinNode.java:148)
    at org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:59)
    at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:141)
    at org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:59)
    at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:235)
    at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:240)
    at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:350)
    at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:311)
    at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:903)
    at org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:192)
    at org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:186)
    at rec.dom.Rule_Operazions_on_LeftArmStr_event____33399_4678ddba7e884b11b1acf302cef8a05c.defaultConsequence(Rule_Operazions_on_LeftArmStr_event____33399_4678ddba7e884b11b1acf302cef8a05c.java:19)
    at rec.dom.Rule_Operazions_on_LeftArmStr_event____33399_4678ddba7e884b11b1acf302cef8a05cDefaultConsequenceInvokerGenerated.evaluate(Unknown Source)
    at rec.dom.Rule_Operazions_on_LeftArmStr_event____33399_4678ddba7e884b11b1acf302cef8a05cDefaultConsequenceInvoker.evaluate(Unknown Source)
    at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1287)
    ... 8 more

我读到这篇文章可能是一个错误,不允许您输入事件作为参数?引用:$ev是一个正确的事件,我用在规则中。错误是“rec.dom.LeftArmStr无法转换为java.lang.Number”,其中LeftArmStr为$ev。结束引用-这是不明确的。$ev的类型是声明的事件还是LeftArmStr?$ev是扩展事件的LeftArmStr这可能是一个bug,但无法从您发布代码的方式来判断。需要一套完整的(!)代码来再现效果和您使用的Drools版本。我推荐Drools用户列表。
Exception in thread "main" Exception executing consequence for rule "Operazions on LeftArmStr event    33399" in rec.dom: java.lang.ClassCastException: rec.dom.LeftArmStr cannot be cast to java.lang.Number
    at org.drools.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException(DefaultConsequenceExceptionHandler.java:39)
    at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1297)
    at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:1221)
    at org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1456)
    at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:710)
    at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:674)
    at org.drools.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:230)
    at org.rec.Session.notify(Session.java:136)
    at org.ece.reasoner.ReasonerECE.notifyEvent(ReasonerECE.java:73)
    at org.ece.main.MainLaucher.main(MainLaucher.java:245)
Caused by: java.lang.ClassCastException: rec.dom.LeftArmStr cannot be cast to java.lang.Number
    at org.drools.base.evaluators.BeforeEvaluatorDefinition$BeforeEvaluator.evaluateCachedRight(BeforeEvaluatorDefinition.java:306)
    at org.drools.rule.constraint.EvaluatorConstraint.isAllowedCachedRight(EvaluatorConstraint.java:80)
    at org.drools.common.SingleBetaConstraints.isAllowedCachedRight(SingleBetaConstraints.java:134)
    at org.drools.reteoo.JoinNode.propagateFromRight(JoinNode.java:156)
    at org.drools.reteoo.JoinNode.assertObject(JoinNode.java:148)
    at org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:59)
    at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:141)
    at org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:59)
    at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:235)
    at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:240)
    at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:350)
    at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:311)
    at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:903)
    at org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:192)
    at org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:186)
    at rec.dom.Rule_Operazions_on_LeftArmStr_event____33399_4678ddba7e884b11b1acf302cef8a05c.defaultConsequence(Rule_Operazions_on_LeftArmStr_event____33399_4678ddba7e884b11b1acf302cef8a05c.java:19)
    at rec.dom.Rule_Operazions_on_LeftArmStr_event____33399_4678ddba7e884b11b1acf302cef8a05cDefaultConsequenceInvokerGenerated.evaluate(Unknown Source)
    at rec.dom.Rule_Operazions_on_LeftArmStr_event____33399_4678ddba7e884b11b1acf302cef8a05cDefaultConsequenceInvoker.evaluate(Unknown Source)
    at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1287)
    ... 8 more