Any suggestions? I have my project in stand-by due to that problem ... Nestor
nestabur wrote: > > Does anyone tried to use the knowledgeAgent with statefulSessions? > > I've tried to configure my rule engine obtaining unexpected behaviour. > > I configure my statefulSession as follows: > > wm = (ReteooStatefulSession) ((KnowledgeBaseImpl) kagent > > .getKnowledgeBase()).ruleBase.newStatefulSession( > (SessionConfiguration) sessionConf, env); > ksession = new StatefulKnowledgeSessionImpl(wm, > kagent.getKnowledgeBase()); > > And after updating the KnowledgeBase in the agent I update my ksession: > > wm.setRuleBase((InternalRuleBase) ((KnowledgeBaseImpl) kagent > > .getKnowledgeBase()).ruleBase); > ksession = new StatefulKnowledgeSessionImpl(wm, > kagent.getKnowledgeBase()); > > Without using entry-points this approach works as expected, but using them > it fails after the first update throwing the error: > > Exception while processing message: java.lang.NullPointerException > java.lang.NullPointerException > at > org.drools.reteoo.ReteooFactHandleFactory.newFactHandle(ReteooFactHandleFactory.java:54) > at > org.drools.common.AbstractFactHandleFactory.newFactHandle(AbstractFactHandleFactory.java:79) > at > org.drools.common.AbstractFactHandleFactory.newFactHandle(AbstractFactHandleFactory.java:66) > at > org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:109) > at > org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:80) > at > org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:28) > > Browsing the drools core code I found the line that was throwing the > exception and tried to get the same result by implementing: > > if (!((InternalRuleBase) ((KnowledgeBaseImpl) > ksession.getKnowledgeBase()).ruleBase) > .getTypeDeclaration(fact.getClass()) == > null) > log.info (((InternalRuleBase) ((KnowledgeBaseImpl) > ksession.getKnowledgeBase()).ruleBase) > > .getTypeDeclaration(fact.getClass()).getTimestampExtractor().toString()); > > after updating my ksession. The result was the same, again the same > exception thrown but my logger wrote: > 18:01:50,232 INFO [ClassFieldExtractor class=MyPackage.MyFact > field=myTimestampField] > > So I dont know why the core is throwing that exception, is that > implementation correct?, any ideas? > > > Thanks, > > Nestor > -- View this message in context: http://www.nabble.com/Drools-Core-Error--tp25188219p25221364.html Sent from the drools - dev mailing list archive at Nabble.com. _______________________________________________ rules-dev mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-dev
