Well, I can't reproduce the failure of "FirstRule" to fire - both rules fire after the insertion of a single event. Of course, I use a simplified scenario, and there are only these two rules in my knowledge base.
Using 5.3.0 final; not OSGi, but I don't see how this should matter. Check the RULES_CHANGESET = "org/openhab/core/drools/changeset.xml"; Does it really refer to one DRL with just these two rules? -W On 31/01/2012, Philipp Herzig <pher...@googlemail.com> wrote: > Have you ever tried out to insert the events into the > WorkingMemoryEntryPoint "EventStream" directly that you have commented out > in your execute method? > and read the window from that eventstream in your rule, that is, > "window:length( 5 ) from entry-point EvenStream". > > Of course, the second rule will fire also if it would be no event but a > simple fact for drools. > Unfortunately, I do not know under which condition the default entrypoint > is populated. > > 2012/1/31 juankera <juank...@gmail.com> > >> Tried, but won't work. >> >> Ok, step by step. >> >> 1- DRL File >> >> Event declared, FirstRule won't work and SecondRule is working properly >> (neither count or sum) >> >> declare StateEvent >> @role( event ) >> end >> >> rule "FirstRule" >> >> when >> Number( $total : doubleValue ) from accumulate( >> StateEvent(itemName=="Temperatura", $val : newState) over >> window:length( 5 ), >> count ( 1 )) >> then >> System.out.println("" + $total); >> end >> >> rule "SecondRule " >> >> when >> StateEvent(itemName=="Temperatura", $val : newState) >> then >> System.out.println("" + >> ((DecimalType)$val).toBigDecimal().doubleValue()); >> end >> >> 2. Important lines from Engine starting (notice that i'm using stateful >> session) >> >> KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); >> >> kbuilder.add(ResourceFactory.newClassPathResource(RULES_CHANGESET, >> getClass()), ResourceType.CHANGE_SET); >> >> KnowledgeBaseConfiguration kbaseConfig = >> KnowledgeBaseFactory.newKnowledgeBaseConfiguration(); >> kbaseConfig.setOption( EventProcessingOption.STREAM ); >> KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase(kbaseConfig); >> >> StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession(); >> >> 3. Attached you can find the full code >> http://drools.46999.n3.nabble.com/file/n3703619/RuleService.java >> RuleService.java >> >> 4. Environment >> >> Drools 5.3.0 FINAL, running on a OSGi environment. >> >> >> >> >> >> -- >> View this message in context: >> http://drools.46999.n3.nabble.com/rules-users-Accumulate-function-events-and-stream-processing-tp3700577p3703619.html >> Sent from the Drools: User forum mailing list archive at Nabble.com. >> _______________________________________________ >> rules-users mailing list >> rules-users@lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/rules-users >> > > > > -- > -------------------------------------------- > Philipp Herzig, M.Sc. > > Mail: pher...@googlemail.com > Cell: 0178 - 6156244 > _______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users