Esper-简介

[quote="AliKevin"]
本文概要介绍事件流引擎Esper相关的内容.
[/quote]
[size=xx-large][b]一、Esper简介[/b][/size]
Esper is a component for CEP and ESP application.即 Esper是用于CEP(复杂事件处理)和ESP(事件流处理)应用程序的组件.

Esper是纯Java开源复杂事件和事件流引擎,可以监测事件流,并在特定事件发生时触发某些动作。Esper引擎是为了满足事件进行分析并做出反应等这些应用需求而产生的。这些应用要求实时或者接近实时处理事件(或消息)。这类应用具有高吞吐量、低响应时间和复杂的计算等特点。

Esper引擎的典型应用有:

* 业务处理管理和自动化(处理监控,业务活动监控,异常报告,经营智能化等等)

* 财务(算法交易,欺诈检查,风险管理)

* 网络及应用程序监控(入侵检测,SLA(Service Level Agreement)监控)

* 传感器网络应用(RFID 读取,生产线调度和控制,空中交通)
[size=xx-large][b]二、Esper简单示例[/b][/size]
[size=x-large][b]示例1[/b][/size]
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

[size=xx-large][b]三、参考资源[/b][/size]
1.官网:[url]http://www.espertech.com[/url]
2.源码:[url]http://dist.codehaus.org/esper/[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值