Edson,
First of all, thanks for your quick reply! I've submitted a new issue on Jira. Here's the link: https://jira.jboss.org/jira/browse/JBRULES-2457 If anything else is needed please, let me know. Thanks, once again J Best regards, Vítor Mendonça Moreira Analista / Programador Direcção de Investigação e Desenvolvimento Rua Dr. Francisco Sá Carneiro, nº. 4 r/c esq. 2500 - 206 - Caldas da Rainha Tel: (+351) 262 832 196 Fax: (+351) 262 186 455 Web: www.makewise.pt Uma empresa: Grupo Sousa Pedro <http://www.sousapedro.com> From: rules-users-boun...@lists.jboss.org [mailto:rules-users-boun...@lists.jboss.org] On Behalf Of Edson Tirelli Sent: segunda-feira, 22 de Março de 2010 18:06 To: Rules Users List Subject: Re: [rules-users] Junit, PseudoClock and NPE Hmmm, strange... would you be able to share your junit test? If so, could you please open a JIRA and attach the test? Thanks, Edson 2010/3/22 Makewise - Vitor Rui Mendonça <vitor.mendo...@brisa.pt> Hi folks! First time in this mailing-list, with very little experience in Drools (Fusion, regarding CEP). I hope that someone could help me out J I've being investigating about this issue and I'm not getting any answer. Here's the problem: I've got a DRL file with a simple rule: rule "...." when $offline : Event( code == "101", $offlineLane : lane ) from entry-point "incoming" not ( $online : Event(code == "102", lane == $offlineLane, this after [0s,3m] $offline ) from entry-point "incoming" ) then // some code here end What I want is: when there's an offline for more than 3 minutes *without* any online event (meanwhile), that execute the rule. I've got JUnits, with Drools configured with STREAM mode and PSEUDO clock. All is good in JUnit world except in this testcase: · Insert an offline event (workingMemoryEntryPoint.insert( offlineEvent );) · Clock advances 2m50s (clock.advanceTime(2,TimeUnit.MINUTES );clock.advanceTime(50, TimeUnit.SECONDS );) · Insert an online event (workingMemoryEntryPoint.insert( onlineEvent );) · Clock advances 0m15s (clock.advanceTime(15,TimeUnit.SECONDS );) · Assertion error: the rule runs when it shouldn't (online event cancels offline event). I've got no clue about this but I have some more interesting info: · When clock advances 0m15s, there's an NPE on a LinkedList: java.lang.NullPointerException at org.drools.util.LinkedList.remove(LinkedList.java:113) at org.drools.common.Scheduler$DuractionJob.execute(Scheduler.java:71) at org.drools.time.impl.PseudoClockScheduler$ScheduledJob.call(PseudoClockScheduler.java:219) at org.drools.time.impl.PseudoClockScheduler.runCallBacks(PseudoClockScheduler.java:168) at org.drools.time.impl.PseudoClockScheduler.advanceTime(PseudoClockScheduler.java:130) · I haven't any code/rule that retracts events (I shouldn't have it for this case, right?) · I've tried Drools 5.0.1 and 5.1.0.M1, with the same results · The issue causing NPE, I've found an old issue regarding Drools 3.0.4 and the bug was corrected in 3.0.5 (https://jira.jboss.org/jira/browse/JBRULES-455) · I think that someone wrote about this error (in Drools 5) but I don't have the link to it. Thanks In Advance! Best regards, Vítor Mendonça Moreira Analista / Programador Direcção de Investigação e Desenvolvimento Rua Dr. Francisco Sá Carneiro, nº. 4 r/c esq. 2500 - 206 - Caldas da Rainha Tel: (+351) 262 832 196 Fax: (+351) 262 186 455 Web: www.makewise.pt Uma empresa: Grupo Sousa Pedro <http://www.sousapedro.com> _______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users -- Edson Tirelli JBoss Drools Core Development JBoss by Red Hat @ www.jboss.com
<<image001.jpg>>
<<image002.jpg>>
_______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users