esper(1)-窗口概述
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)-窗口概述的更多相关文章
- 复杂事件处理引擎—Esper工作原理
前面对Esper进行了概述,包括事件类型.事件流.事件窗口以及EPL相关内容.当然,上面的知识,对于简单的Esper开发,应该已经足够,能够根据自己业务需求,做出一个满足需要的Esper应用.但是,真 ...
- VS2010/MFC编程入门之四十一(文档、视图和框架:分割窗口)
上一节中鸡啄米讲了文档.视图和框架结构中各对象之间的关系,本节主要讲讲在MFC中如何分割窗口. 分割窗口概述 分割窗口,顾名思义,就是将一个窗口分割成多个窗格,在每个窗格中都包含有视图,或 ...
- VS2010 MFC中 窗口分割的实现
分割窗口概述 分割窗口,顾名思义,就是将一个窗口分割成多个窗格,在每个窗格中都包含有视图,或者是同一类型的视图,或者是不同类型的视图. MFC分割窗口的方式有两种,动态分割和静态分割. 动态分割窗口通 ...
- VS2010-MFC(文档、视图和框架:分割窗口)
转自:http://www.jizhuomi.com/software/226.html 上一节讲了文档.视图和框架结构中各对象之间的关系,本节主要讲讲在MFC中如何分割窗口. 分割窗口概述 ...
- Flink(八)【Flink的窗口机制】
目录 Flink的窗口机制 1.窗口概述 2.窗口分类 基于时间的窗口 滚动窗口(Tumbling Windows) 滑动窗口(Sliding Windows) 会话窗口(Session Window ...
- LoadRunner培训初级教程
一 LoadRunner简介 1.1 Loadrunner介绍 LoadRunner 是 HP Mercury Interactive 用来测试应用程序性能的工具 LoadRunner 通过模拟一个 ...
- Mongodb Manual阅读笔记:CH4 管理
4 管理 Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作Mongodb Manual阅读笔记:CH3 数据模型(Data Models)Mongodb Manual阅读笔 ...
- LoadRunner:VuGen开发脚本步骤(二)
一.介绍 Loadrunner的场景能够描述在测试活动中发生的各种事件.一个场景包括一个运行虚拟用 户活动的Load Generator 机器列表,一个测试脚本的列表以及大量的虚拟用户和虚拟用户组 二 ...
- 编码 - 设置 win10 下 cmd 编码格式
概述 cmd 编码格式修改 背景 之前尝试过修改 gitbash(mingw) 的 Character Set 这次尝试修改一下 cmd 的编码格式 准备 os win10.1903 1. 查看 当前 ...
随机推荐
- Codeforces 719E (线段树教做人系列) 线段树维护矩阵
题面简洁明了,一看就懂 做了这个题之后,才知道怎么用线段树维护递推式.递推式的递推过程可以看作两个矩阵相乘,假设矩阵A是初始值矩阵,矩阵B是变换矩阵,求第n项相当于把矩阵B乘了n - 1次. 那么我们 ...
- 获取iframe自适应后的宽高
1.同域 一:引入jquery <script type="text/javascript" src="../jquery.min.js">< ...
- Bulma 源码结构
源码基于 Bulma 0.4.0 版本. 一.入口文件 bulma.sass bulma.sass 是 Bulma 使用 SASS 编译的入口文件. sass bulma.sass css/bulma ...
- 《Effective Java》第10章 发并
第66条:同步访问共享的可变数据 Java语言规范保证读或者写一个变量是原子的(atomic ) ,除非这个变量的类型为long或者double. [java中long和double类型操作的非原子性 ...
- java打成jar包后,class,getResource()出现null指针异常
1.SqlHelper.java有包路径没?如果有,是不是类似于com.db.jdbc? 不管怎么办,你SqlHelper.class.getResourceAsStream("/mysql ...
- Java的post(HTTPS)请求-----接口测试
package com.ju.util; import java.io.BufferedReader; import java.io.IOException; import java.io.Input ...
- metasploit 读书笔记-EXPLOITATION
一、渗透攻击基础 1.常用命令 show exploits 显示Meta框架中所有可用的渗透攻击模块。 show options 显示模块所需要的各种参数 back 返回Meta的上一个状态 sear ...
- mac的idea不能编辑问题
在安装的时候,因为在选择插件的时候,把IDEAVim这个玩意儿选上了.所以,编辑模式就跟命令行里面的Vim一样.输入时,需要先输入i, 进入insert模式下,然后才可以编辑.彻底解决办法就是进入Pr ...
- 高级工程师->架构师
1. 分解等级 技术人员典型的发展路径基本上都是下面的这个模式: 1) 0 ~1年:菜鸟,需要别人手把手来教 2)1 ~ 3年:初级,需要别人带你做 3)3 ~ 5年:高级,能独当一面,可以带初级技术 ...
- STL_ALGORITHM_H
sort_unique_copy /////////////////////////////////////////////////////////// // Copyright (c) 2013, ...