<br>   Jaroslaw,<br><br>   This looks like a bug. Would you please open a JIRA and attach the info bellow as well as drools and mvel version used?<br><br>   Thanks,<br>      Edson<br><br><div class="gmail_quote">2009/6/30 Jaroslaw Kijanowski <span dir="ltr">&lt;<a href="mailto:kijanowski@gmail.com">kijanowski@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi,<br>
 I&#39;m using sliding windows (hence stream mode).<br>
Here&#39;s my rule:<br>
<br>
declare Sensor<br>
        @role (event)<br>
end<br>
<br>
rule &#39;r&#39;<br>
when<br>
Number( dv:doubleValue &gt; 1 ) from accumulate(<br>
        Sensor( $v : value ) over window:length( 2 ),<br>
        average( $v ) )<br>
then<br>
        System.out.println(dv);<br>
end<br>
<br>
Here&#39;s my class:<br>
<br>
++++++++++++++++++++++++++++++++++++++++++++++<br>
public class CEPTest {<br>
  public static void main(String[] args) throws Exception {<br>
<br>
    KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();<br>
    kbuilder.add(ResourceFactory.newClassPathResource(&quot;cep.drl&quot;), ResourceType.DRL);<br>
    if (kbuilder.getErrors().size() &gt; 0) {<br>
      throw new IllegalArgumentException(&quot;Could not parse knowledge.&quot;);<br>
    }<br>
<br>
    KnowledgeBaseConfiguration kbaseConfig = KnowledgeBaseFactory.newKnowledgeBaseConfiguration();<br>
    kbaseConfig.setOption(EventProcessingOption.STREAM);<br>
    KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase(kbaseConfig);<br>
<br>
    kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());<br>
    KnowledgeBase kbase2 = (KnowledgeBase) DroolsStreamUtils.streamIn(DroolsStreamUtils.streamOut(kbase), null);<br>
<br>
    final StatefulKnowledgeSession ksession = kbase2.newStatefulKnowledgeSession();<br>
<br>
    System.out.println(&quot;T1&quot;);<br>
    ksession.insert(new Sensor(1.0));<br>
    ksession.fireAllRules();<br>
<br>
    System.out.println(&quot;T2&quot;);<br>
    ksession.insert(new Sensor(2.0));<br>
    ksession.fireAllRules();<br>
<br>
    System.out.println(&quot;T3&quot;);<br>
    ksession.insert(new Sensor(3.0));<br>
    ksession.fireAllRules();<br>
<br>
    ksession.dispose();<br>
  }<br>
}<br>
++++++++++++++++++++++++++++++++++++++++++++++<br>
The output is (as expected):<br>
+++++++++++++++<br>
T1<br>
T2<br>
1.5<br>
T3<br>
2.5<br>
+++++++++++++++<br>
<br>
I&#39;m wondering why I have to use DroolsStreamUtils to get a knowledge base? When I use kbase (which didn&#39;t went through DroolsStreamUtils) instead of kbase2 to create a new session, the output will be:<br>
+++++++++++++++<br>
T1<br>
T2<br>
2.0<br>
T3<br>
3.0<br>
+++++++++++++++<br>
<br>
Thanks,<br>
 Jarek<br>
_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>  Edson Tirelli<br>  JBoss Drools Core Development<br>  JBoss by Red Hat @ <a href="http://www.jboss.com">www.jboss.com</a><br>