OK I put it here https://jira.jboss.org/jira/browse/JBRULES-2278 to track it.
On Tue, Sep 15, 2009 at 1:10 AM, nestabur <[email protected]> wrote: > > Hi again, > > I haven't got any suggestion yet ... I've just wanted to know if this > configuration is possible in drools 5.0.1 > > Thanks again, > > Nestor > > > nestabur wrote: >> >> Hi Michael, >> >> Attached a eclipse project with 2 sample apps showing my problem. >> >> There are 2 main classes, 1 for CEP and STREAM enviroment and other >> without >> them. >> >> The extrange behavior is that the engine keeps the Working Memory >> correctly >> and does the changes correctly in the nonTemporal enviroment >> (ksession.insert()) but at the Temporal enviroment >> (ksession.getWorkingMemoryEntryPoint("MyEntryPoint").insert(fact)) keeps >> the >> WM and doesnt change the RuleBase. >> >> Both main classes have 1 parameter setting the drl path: >> file:src/main/resources/cepRule.drl >> file:src/main/resources/nonCepRule.drl >> >> Try execute both enviroments, do changes inside the DRLs and see if the >> kagent updates the KSession correctly. >> >> Thanks, >> >> Nestor >> >> PD: Actually I use both enviroments using the Guvnor PKG repository, in >> the >> post I wrote the error thrown if I use Guvnor instead DRL files but is the >> same problem as the attached project, the ksession doesnt refresh the >> KnowledgeBase in my Temporal enviroment. >> >> 2009/9/1 Michael Neale <[email protected]> >> >>> Hi Nestor - that is a tough one. >>> >>> I have a suspicion this is related to another issue I have seen with >>> deserliasation of rulebases when the MVEL JIT kicks in... (from that >>> strack trace it isn't getting the TypeDeclaration back...) - its a >>> stretch, but might be related to: >>> https://jira.jboss.org/jira/browse/JBRULES-2253 >>> >>> As there are a few moving parts, if you could create a unit test that >>> starts up a agent and shows this behaviour, that would be appreciated >>> (confused about the interaction with entry points). >>> >>> Thanks, >>> >>> Michael. >>> >>> >>> >>> On Mon, Aug 31, 2009 at 8:38 PM, nestabur<[email protected]> wrote: >>> > >>> > 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 >>> > >>> >>> >>> >>> -- >>> Michael D Neale >>> home: www.michaelneale.net >>> blog: michaelneale.blogspot.com >>> >>> _______________________________________________ >>> rules-dev mailing list >>> [email protected] >>> https://lists.jboss.org/mailman/listinfo/rules-dev >>> >> >> >> _______________________________________________ >> rules-dev mailing list >> [email protected] >> https://lists.jboss.org/mailman/listinfo/rules-dev >> >> > > -- > View this message in context: > http://www.nabble.com/Drools-Core-Error--tp25188219p25437601.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 > -- Michael D Neale home: www.michaelneale.net blog: michaelneale.blogspot.com _______________________________________________ rules-dev mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-dev
