`
AliKevin2011
  • 浏览: 118787 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Esper-简介

    博客分类:
  • ESP
阅读更多
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-services:用于esper的REST服务

    **Esper简介** Esper是Java开发的事件处理引擎,它允许开发者在运行时对持续流入的数据流进行分析和模式识别。Esper支持SQL-like语法,可以方便地定义事件模式和规则,用于实时检测和响应特定的事件序列。 **REST...

    EsperTest:esper-入门demo

    ##简介 esper入门DEMO ##常用窗口 win:length(size) //攒够size条数据后触发UpdateListener()函数。滑动窗口,攒满之后新来一个移除一个,并触发。 win:length_batch(size) //攒够size条数据后触发,并清空队列。再...

    Esper 最新帮助文档

    **1.1 CEP与事件序列分析简介** 复杂事件处理(Complex Event Processing,简称CEP)是一种用于实时分析和响应大量数据流中的模式的技术。Esper作为一款高性能的CEP引擎,在处理大量事件时表现出色。该章节首先介绍...

    Esper时间模型简介

    Esper是一个事件流处理(ESP)和事件关联引擎(CEP的,复杂事件处理)。Esper的目标是针对实时事件驱动架构(EDA)。当Esper监测到事件流中又符合条件的时间发生时,即可触发Plain Old Java Objects(POJO)编写的...

    Esper overview

    #### 四、Esper 简介 Esper 是一种专门用于处理事件流的工具,其设计目的是为了缩短从概念到生产的开发周期。Esper 支持丰富的事件处理语言 (EPL),使得开发者能够快速构建高性能的应用程序。 - **Esper 的特点**...

    esper官方文档

    ##### CEP与事件序列分析简介 CEP是一种技术,用于实时地识别、分析和响应复杂的模式或情境,这些模式或情境是由大量简单的事件组成的。Esper通过其特有的事件驱动架构实现了这一目标,能够帮助开发者构建出能够...

    esper语法pdf版(下)

    对于初学者来说,EPL的基本概念可以在第5.1节“EPL简介”中找到;而对于模式的理解,则可以在第6.1节“事件模式概述”中学习。此外,Esper还提供了详细的JavaDoc文档,这对于深入了解API非常有帮助。 #### 三、服务...

    esper官网文档中英文对照1-200页

    Esper简介与事件流处理 - **Esper**:Esper是一款专为事件流处理和复杂事件处理(Complex Event Processing, CEP)设计的强大引擎。它能够在事件流中检测到特定模式时触发预定义的动作。 - **应用场景**:Esper...

    esper官网文档中英文对照801-900页

    #### 一、Esper简介与应用场景 **Esper** 是一个事件流处理和复杂事件处理(Complex Event Processing,简称 CEP)的引擎。它提供了一个强大的实时事件驱动框架,能够监测并响应事件流中的特定事件。这使得Esper在...

    esper reference

    ### Esper参考文档解析 #### 技术概览 **1.1 CEP与事件流分析简介** 复杂事件处理(Complex Event Processing,简称CEP)是一种用于处理和分析大量实时数据的技术,尤其适用于需要快速响应变化的数据环境。在现代...

    esper_reference

    ### Esper 4.3.0 使用手册核心知识点详解 #### 一、技术概览 **1.1 CEP与事件流分析简介** - **CEP(Complex Event Processing,复杂事件处理)**: 是一种用于实时分析大量事件数据的技术,旨在识别出有意义的...

    事件驱动架构

    ##### 1.1 复杂事件处理与事件流分析简介 复杂事件处理是指在事件流中检测出有意义的模式的过程。这包括但不限于识别事件序列、模式匹配以及聚合操作等。事件流分析则是指对实时事件数据进行分析的技术,通常涉及...

    实时计算-流数据处理系统简介与简单分析.docx

    此外,IBM的Stream Base、Borealis、Hstreaming和Esper也是早期的实时计算解决方案。 淘宝在实时计算领域有其独特实践。银河流数据处理平台是一个基于actor模型的分布式流数据计算框架,采用akka作为底层支持,它能...

    Rifidi Edge Server v1.3使用指南

    #### 一、Rifidi Edge Server 简介 Rifidi Edge Server 是一款开源的 EPC RFID(电子产品代码射频识别)过滤和采集层中间件。该软件旨在为用户提供一种高效的方式来管理 RFID 设备的数据流,支持多种 RFID 阅读器,...

Global site tag (gtag.js) - Google Analytics