Hi All,
I have a simple CEP test case which I am working through. I
am currently getting a NullPointerException in the Consequence and have no idea
why.
Rule:
rule "Param
Update Event Rule"
when
$pue :
ParameterUpdateEvent(name == "testParam2", $param : param) from entry-point "ParamUpdateStream"
then
#System.out.println("Param
'" + $pue.getName() + "' has been updated to " +
$pue.getValue());
System.out.println("HERE!!!
" + $param + " " + $param.name());
End
Exception & Debug:
OBJECT ASSERTED
value:ie.PocketKings.SystemsManagement.Alerting.ParameterUpdateEvent@1265109
factId: 2
OBJECT RETRACTED
value:ie.PocketKings.SystemsManagement.Alerting.ParameterUpdateEvent@1265109
factId: 2
OBJECT ASSERTED
value:ie.PocketKings.SystemsManagement.Alerting.ParameterUpdateEvent@5e8d7d
factId: 3
OBJECT RETRACTED
value:ie.PocketKings.SystemsManagement.Alerting.ParameterUpdateEvent@5e8d7d
factId: 3
ACTIVATION CREATED rule:Param Update
Event Rule activationId:Param Update Event Rule [4, 0] declarations:
$pue=ie.PocketKings.SystemsManagement.Alerting.ParameterUpdateEvent@19b4748(4);
$param=ie.PocketKings.SystemsManagement.Alerting.Parameter@2431b9(4)
Exception in thread "Thread-3" BEFORE
ACTIVATION FIRED rule:Param Update Event Rule activationId:Param Update Event
Rule [4, 0] declarations:
$pue=ie.PocketKings.SystemsManagement.Alerting.ParameterUpdateEvent@19b4748(4);
$param=ie.PocketKings.SystemsManagement.Alerting.Parameter@2431b9(4)
OBJECT RETRACTED
value:ie.PocketKings.SystemsManagement.Alerting.ParameterUpdateEvent@19b4748
factId: 4
OBJECT ASSERTED
value:ie.PocketKings.SystemsManagement.Alerting.ParameterUpdateEvent@19b4748
factId: -1
org.drools.runtime.rule.ConsequenceException: java.lang.NullPointerException
at org.drools.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException(DefaultConsequenceExceptionHandler.java:23)
at
org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:943)
at
org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:885)
at org.drools.common.DefaultAgenda.fireUntilHalt(DefaultAgenda.java:1065)
at
org.drools.common.AbstractWorkingMemory.fireUntilHalt(AbstractWorkingMemory.java:701)
at
org.drools.common.AbstractWorkingMemory.fireUntilHalt(AbstractWorkingMemory.java:678)
at
org.drools.impl.StatefulKnowledgeSessionImpl.fireUntilHalt(StatefulKnowledgeSessionImpl.java:195)
at
ie.PocketKings.SystemsManagement.Alerting.SessionRunner.run(SessionRunner.java:13)
at java.lang.Thread.run(Unknown
Source)
Caused by: java.lang.NullPointerException
at
org.drools.base.ie.PocketKings.SystemsManagement.Alerting.ParameterUpdateEvent6011238$getParam.getValue(Unknown
Source)
at
org.drools.base.ClassFieldReader.getValue(ClassFieldReader.java:91)
at
org.drools.rule.Declaration.getValue(Declaration.java:244)
at
ie.PocketKings.SystemsManagement.Alerting.Rule_Param_Update_Event_Rule_0ConsequenceInvoker.evaluate(Rule_Param_Update_Event_Rule_0ConsequenceInvoker.java:16)
at
org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:934)
... 7 more
OBJECT ASSERTED
value:ie.PocketKings.SystemsManagement.Alerting.ParameterUpdateEvent@19fdbcb
factId: 5
Could it be that my Event object is getting destroyed before the
consequence is run, is that what “OBJECT RETRACKED” means in this
case?
Thanks
Glenn