Time Window:

Length Window:

Time Batch Window:

带batch的是所有的都执行完后,在触发UpdateListener,如下边例子:

public class AppleListener implements UpdateListener {

    public void update(EventBean[] newEvents, EventBean[] oldEvents) {
if (newEvents != null) {
Double avg = (Double)newEvents[0].get("avg(price)");
System.out.println("Apple's average price is " + avg);
}
} }
String epl = "select avg(price) from " + product + ".win:length_batch(3)";
...
runtime.sendEvent(new Apple(1));
runtime.sendEvent(new Apple(2));
runtime.sendEvent(new Apple(3));
//runtime.sendEvent(new Apple(4));
//runtime.sendEvent(new Apple(5));
//runtime.sendEvent(new Apple(6));
  • 当为length(3)时,每次执行runtime.sendEvent都会调用UpdateListener。
  • 当为length_batch(3)时,直到最后的runtime.sendEvent(apple3);执行完毕后,才调用UpdateListener。
  • 当只有runtime.sendEvent(new Apple(1));时,

如果是win:length(3),输出:Apple's average price is 1.0

如果是win:length_batch(3),啥都不输出。

  • 当有runtime.sendEvent(new Apple(1));和runtime.sendEvent(new Apple(2));时,

    如果是win:length(3),输出:

      Apple's average price is 1.0
              Apple's average price is 1.5

    如果是win:length_batch(3),啥都不输出。

  • 当有 runtime.sendEvent(new Apple(1));和runtime.sendEvent(new Apple(2));和runtime.sendEvent(new Apple(3));时,

    如果是win:length(3),输出:

      Apple's average price is 1.0
      Apple's average price is 1.5
      Apple's average price is 2.0

     如果是win:length_batch(3),输出:Apple's average price is 2.0

  • 当sendEvent 4个时,

    如果是win:length(3),输出:

      Apple's average price is 1.0
      Apple's average price is 1.5
      Apple's average price is 2.0
      Apple's average price is 3.0

     如果是win:length_batch(3),输出:Apple's average price is 2.0

  • 当sendEvent 5个时,

    如果是win:length(3),输出:

      Apple's average price is 1.0
      Apple's average price is 1.5
      Apple's average price is 2.0
      Apple's average price is 3.0
      Apple's average price is 4.0

     如果是win:length_batch(3),输出:

      Apple's average price is 2.0

  • 当sendEvent 6个时,

    如果是win:length(3),输出:

      Apple's average price is 1.0
      Apple's average price is 1.5
      Apple's average price is 2.0
      Apple's average price is 3.0
      Apple's average price is 4.0
      Apple's average price is 5.0

     如果是win:length_batch(3),输出:

      Apple's average price is 2.0
      Apple's average price is 5.0

esper(1)-窗口概述的更多相关文章

  1. 复杂事件处理引擎—Esper工作原理

    前面对Esper进行了概述,包括事件类型.事件流.事件窗口以及EPL相关内容.当然,上面的知识,对于简单的Esper开发,应该已经足够,能够根据自己业务需求,做出一个满足需要的Esper应用.但是,真 ...

  2. VS2010/MFC编程入门之四十一(文档、视图和框架:分割窗口)

    上一节中鸡啄米讲了文档.视图和框架结构中各对象之间的关系,本节主要讲讲在MFC中如何分割窗口. 分割窗口概述       分割窗口,顾名思义,就是将一个窗口分割成多个窗格,在每个窗格中都包含有视图,或 ...

  3. VS2010 MFC中 窗口分割的实现

    分割窗口概述 分割窗口,顾名思义,就是将一个窗口分割成多个窗格,在每个窗格中都包含有视图,或者是同一类型的视图,或者是不同类型的视图. MFC分割窗口的方式有两种,动态分割和静态分割. 动态分割窗口通 ...

  4. VS2010-MFC(文档、视图和框架:分割窗口)

    转自:http://www.jizhuomi.com/software/226.html 上一节讲了文档.视图和框架结构中各对象之间的关系,本节主要讲讲在MFC中如何分割窗口. 分割窗口概述      ...

  5. Flink(八)【Flink的窗口机制】

    目录 Flink的窗口机制 1.窗口概述 2.窗口分类 基于时间的窗口 滚动窗口(Tumbling Windows) 滑动窗口(Sliding Windows) 会话窗口(Session Window ...

  6. LoadRunner培训初级教程

    一 LoadRunner简介 1.1 Loadrunner介绍 LoadRunner 是 HP Mercury Interactive 用来测试应用程序性能的工具  LoadRunner 通过模拟一个 ...

  7. Mongodb Manual阅读笔记:CH4 管理

    4 管理 Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作Mongodb Manual阅读笔记:CH3 数据模型(Data Models)Mongodb Manual阅读笔 ...

  8. LoadRunner:VuGen开发脚本步骤(二)

    一.介绍 Loadrunner的场景能够描述在测试活动中发生的各种事件.一个场景包括一个运行虚拟用 户活动的Load Generator 机器列表,一个测试脚本的列表以及大量的虚拟用户和虚拟用户组 二 ...

  9. 编码 - 设置 win10 下 cmd 编码格式

    概述 cmd 编码格式修改 背景 之前尝试过修改 gitbash(mingw) 的 Character Set 这次尝试修改一下 cmd 的编码格式 准备 os win10.1903 1. 查看 当前 ...

随机推荐

  1. Codeforces 960F 线段树

    题意:https://blog.csdn.net/qq_39809664/article/details/79871282 思路:我们考虑LIS的状态转移,对于这个题,假设现在扫描到的边是(u, v, ...

  2. ARC102E Stop. Otherwise...

    传送门 题目大意 现在有n个k面的骰子,问在i=2~2*k的情况下,任意两个骰子向上那一面的和不等于i的方案数是多少. 分析 这道题具体做法见这个博客. 至于k2的值为啥是那个自己画画图就明白了. 代 ...

  3. java Iterator类

    查看java源码. /* * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. * ORACLE ...

  4. 数据结构_calculator

    问题描述 小 V 发明了一个神奇的整数计算器:给定一个合法的表达式,这个计算器能求出这个表达式的最终答案.表达式可能包含:+:运算符,整数加法.如 1+1=2-:运算符,整数减法.如 1-1=0*:运 ...

  5. springMVC:modelandview,model,controller,参数传递

    转载:http://blog.csdn.net/wm5920/article/details/8173480 1.web.xml 配置: copy   <> ></> & ...

  6. Linux下管理员强行踢出用户的命令使用方法

    Linux强制踢出用户命令: 一.输入w命令查看已登录用户信息 [root@KW_S01_192.168.1.106_A ~]# w 19:22:31 up  2:11,  3 users,  loa ...

  7. FileStream流读取

    using (FileStream fread = new FileStream(@"C:\Users\kyp10\Desktop\1.复.avi", FileMode.OpenO ...

  8. MVC小记备忘

    1,页面用<dl><dt><dd>和Bootstrap的"dl-horizontal"类布局页面,使每一个属性名和属性值占一行 <dl c ...

  9. SuperSocket1.6电子书离线版

    使用离线浏览器制作,格式为chm,本人不对电子书内容具有任何权利!简体中文,适用于.NET开发. 下载地址

  10. 「美团 CodeM 初赛 Round A」最长树链

    题目描述 Mr. Walker 最近在研究树,尤其是最长树链问题.现在树中的每个点都有一个值,他想在树中找出最长的链,使得这条链上对应点的值的最大公约数不等于1.请求出这条最长的树链的长度. 输入格式 ...