Esper复杂事务处理引擎一小时入门

Esper是一个用于复杂事件处理的Java开源引擎,支持实时响应和灵活的事件模型定义。文章介绍了Esper的基本概念、事件处理流程、EPL语法中的insert、窗格、context和pattern,以及如何通过Esper处理各种实时场景。
摘要由CSDN通过智能技术生成

Esper复杂事务处理引擎一小时入门

什么是Esper

想要认识Esper,先要了解[CEP(Complex Event Processing)][1],引用里给出的是知乎的一个回答,笔者感觉比一些官方的、百科的解答更为贴切易懂。
Esper就是CEP的一个java的开源实现。
Esper官方网址:http://www.espertech.com/

Esper的特性

在探究Esper特性之前,我们先总结一下复杂事件的特性:

  • 类型多样,不易建模
  • 场景不可控,随时可能新增场景
  • 逻辑复杂,难于描述
  • 既需要汇总规律,又不准数据落地。

    场景举例:
    股市实时K线图、网站恶意操作监测、用户登入控制、实时数据统计等

针对复杂事件的这些特性,Esper具有相应的性质:

  • 实时响应
  • 极速扩展新事件
  • 语法描述能力强大、类sql

事件和处理流程

一个基本的例子

引用Esper就不说了,直接搜maven esper,添加以来就好。

/*定义事件模型*/
public class Coder {
   
    private String Name;
    private int age;
    private double Salary;
    //省略getter/setter
    }
//
public class HelloEsperApp {
   
    public static void main(String[] args) throws InterruptedException {        
        EPServiceProvider epService = EPServiceProviderManager.getDefaultProvider();        
        EPAdministrator admin = epService.getEPAdministrator();  

        //指定事件模型
        String coderModel = Coder.class.getName();  

        //描述复杂事件
        String epl = "select name,salary,age from " + coderModel;
        EPStatement state = admin.createEPL(epl);   

        //添加事后处理
        state.addListener(new HelloEsperListener());        
        EPRuntime runtime = epService.getEPRuntime();  

        //模
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值