AliKevin 写道
本文概要介绍事件流引擎Esper相关的内容.
一、Esper简介
Esper is a component for CEP and ESP application.即 Esper是用于CEP(复杂事件处理)和ESP(事件流处理)应用程序的组件.
Esper是纯Java开源复杂事件和事件流引擎,可以监测事件流,并在特定事件发生时触发某些动作。Esper引擎是为了满足事件进行分析并做出反应等这些应用需求而产生的。这些应用要求实时或者接近实时处理事件(或消息)。这类应用具有高吞吐量、低响应时间和复杂的计算等特点。
Esper引擎的典型应用有:
* 业务处理管理和自动化(处理监控,业务活动监控,异常报告,经营智能化等等)
* 财务(算法交易,欺诈检查,风险管理)
* 网络及应用程序监控(入侵检测,SLA(Service Level Agreement)监控)
* 传感器网络应用(RFID 读取,生产线调度和控制,空中交通)
二、Esper简单示例
示例1
1.创建java object 类型的事件
public class OrderEvent {
public double price;
public String itemName;
public OrderEvent(){
super();
}
public OrderEvent(double price, String itemName){
super();
this.price = price;
this.itemName = itemName;
}
public double getPrice() {
return price;
}
public String getItemName() {
return itemName;
}
}
2.创建事件监听类
public class OrderListener implements UpdateListener {
public void update(EventBean[] newEvents, EventBean[] oldEvents) {
EventBean eb = newEvents[0];
System.out.println(eb.get("avgPrice"));
}
}
3.主测试类
public class TestMain {
/**
* @param args
*/
public static void main(String[] args) {
// Creating a configuration
Configuration config = new Configuration();
config.addEventTypeAutoName("com.alibaba.esper.tester.example1");
// Creating a statement
EPServiceProvider epService = EPServiceProviderManager.getDefaultProvider(config);
String expression = "Select Avg(price) As avgPrice From OrderEvent.win:time(30 sec)";
EPStatement statement = epService.getEPAdministrator().createEPL(expression);
// Adding a listener
statement.addListener(new OrderListener());
// Sending events
for (int i = 0; i < 10; i++) {
epService.getEPRuntime().sendEvent(new OrderEvent((i + 1) * 10, "Name" + i));
}
}
}
4.测试输出
log4j:WARN No appenders could be found for logger (com.espertech.esper.core.service.EPServiceProviderImpl).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
10.0
15.0
20.0
25.0
30.0
35.0
40.0
45.0
50.0
55.0
三、参考资源
1.官网:
http://www.espertech.com
2.源码:
http://dist.codehaus.org/esper/
分享到:
相关推荐
esper-demo-nuclear, 简单演示Esper复杂事件处理( CEP ) 引擎的一些特性 corsoft-esper-demo 博客可以在以下位置提供: http://www.adrianmilne.com/complex-event-processing-made-easy/还有关于 JavaLobby: h
资源来自pypi官网。 资源全名:esper-1.0.tar.gz
Esper官方包,使用Esper开发需要最基本的五个jar包——esper-5.2.0.jar,\esper-5.2.0\esper\lib下四个jar包
jar包,亲测可用
jar包,亲测可用
jar包,亲测可用
jar包,亲测可用
jar包,亲测可用
jar包,亲测可用
jar包,亲测可用
jar包,亲测可用
jar包,亲测可用
jar包,亲测可用
jar包,亲测可用
jar包,亲测可用
jar包,亲测可用
远程控制 使用 git clone https://github.com/reuben/esper-remote-control cd esper-remote-control yarn install yarn start 执照
jar包,亲测可用
jar包,亲测可用
Storm-esper-example 一个简单的演示来说明 Storm 和 Esper 的集成。 如何跑步 10 秒日志喷口 此 spout 将连续循环输出 10 秒日志。 此 spout 的输出不准确。 这个模拟的主要类是 ...