http://esper.codehaus.org/nesper/documentation/documentation.html

环境配置

  1. NEsper库下载:下载网址
  2. Vs2010环境集成

在项目中添加下载的dll文件下的库即可。

  • Demo展示

事件类:

  1. public class ObjectEvent
  2. {
  3. public String itemName;
  4. public double price;
  5. public ObjectEvent(String itemName, double price)
  6. {
  7. this.itemName = itemName;
  8. this.price = price;
  9. }
  10. public String GetItemName()//命名规则必需正确,大小写不对会导致错误
  11. {
  12. return itemName;
  13. }
  14. public double GetPrice()
  15. {
  16. return price;
  17. }
  18. }
public class ObjectEvent
{
public String itemName;
public double price;
public ObjectEvent(String itemName, double price)
{
this.itemName = itemName;
this.price = price;
}
public String GetItemName()//命名规则必需正确,大小写不对会导致错误
{
return itemName;
}
public double GetPrice()
{
return price;
}
}

事件发送类

  1. class EventSender
  2. {
  3. private static EPServiceProvider epService = EPServiceProviderManager.GetDefaultProvider();
  4. static public void objectEventSend()
  5. {
  6. Configuration config = new Configuration();
  7. EPServiceProvider epService = EPServiceProviderManager.GetDefaultProvider();
  8. String epl =
  9. "select *,sum(Price) from ConsoleApplicationNesper.ObjectEvent.win:length(2)";
  10. EPStatement statement = epService.EPAdministrator.CreateEPL(epl);
  11. statement.Events += EventListener.objectEventHandle;
  12. ObjectEvent e = new ObjectEvent("shirt", 74.50);
  13. Console.WriteLine("send shirt:74.50");
  14. epService.EPRuntime.SendEvent(e);
  15. ObjectEvent e1 = new ObjectEvent("shoes", 60.50);
  16. Console.WriteLine("send shoes:60.50");
  17. epService.EPRuntime.SendEvent(e1);
  18. ObjectEvent e2 = new ObjectEvent("coat", 70.50);
  19. Console.WriteLine("send coat:70.50");
  20. epService.EPRuntime.SendEvent(e2);
  21. Console.ReadKey();
  22. }
  23. }
class EventSender
{
private static EPServiceProvider epService = EPServiceProviderManager.GetDefaultProvider();
static public void objectEventSend()
{
Configuration config = new Configuration();
EPServiceProvider epService = EPServiceProviderManager.GetDefaultProvider();
String epl =
"select *,sum(Price) from ConsoleApplicationNesper.ObjectEvent.win:length(2)"; EPStatement statement = epService.EPAdministrator.CreateEPL(epl);
statement.Events += EventListener.objectEventHandle; ObjectEvent e = new ObjectEvent("shirt", 74.50);
Console.WriteLine("send shirt:74.50");
epService.EPRuntime.SendEvent(e);
ObjectEvent e1 = new ObjectEvent("shoes", 60.50);
Console.WriteLine("send shoes:60.50");
epService.EPRuntime.SendEvent(e1);
ObjectEvent e2 = new ObjectEvent("coat", 70.50);
Console.WriteLine("send coat:70.50");
epService.EPRuntime.SendEvent(e2); Console.ReadKey();
}
}

事件监听类

  1. class EventListener
  2. {
  3. static public void objectEventHandle(Object sender, UpdateEventArgs e)
  4. {
  5. EventBean eventResult = e.NewEvents[0];
  6. Console.WriteLine("sumPrice:" + eventResult.Get("sum(Price)"));
  7. Console.WriteLine("received: " + eventResult.Get("ItemName") + ":"
  8. + eventResult.Get("Price"));
  9. //Console.ReadKey();
  10. }
  11. }
class EventListener
{
static public void objectEventHandle(Object sender, UpdateEventArgs e)
{
EventBean eventResult = e.NewEvents[0];
Console.WriteLine("sumPrice:" + eventResult.Get("sum(Price)"));
Console.WriteLine("received: " + eventResult.Get("ItemName") + ":"
+ eventResult.Get("Price"));
//Console.ReadKey();
}
}

运行结果

  1. 1---object event example
  2. send shirt:74.50
  3. sumPrice:74.5
  4. received: shirt:74.5
  5. send shoes:60.50
  6. sumPrice:135
  7. received: shoes:60.5
  8. send coat:70.50
  9. sumPrice:131
  10. received: coat:70.5

NEsper事件处理 z的更多相关文章

  1. 【Python】使用torrentParser1.03对多文件torrent的分析结果

    Your environment has been set up for using Node.js 8.5.0 (x64) and npm. C:\Users\horn1>cd C:\User ...

  2. 事件流处理框架NEsper for .NET z

    复合事件处理(Complex Event Processing)介绍提到了开源的Esper,NEsper 是一个事件流处理(Event Stream Processing,ESP)和复杂事件处理(Co ...

  3. NEsper z

    对实时信息分析和处理,常常需要客户应用程序的开发相应功能.一般地,这些功能需要提供以下的处理流程,分析获取的数据,筛选数据,提取出有用的信息,然后将其通过特定的形式展现出来.由于具体实时信息的高并发性 ...

  4. NESPER的大体结构 z

    NEsper从内容上分为两块,NEsper的核心NEsper.dll和NEsper.IO.dll. (1)NEsper的核心包包含了EPL语法解析引擎,事件监听机制,事件处理等核心模块. (2)NEs ...

  5. NEsper使用的事件类型 z

    NEsper使用的事件类型来描述事件的类型信息.你的应用在启动时可能预先配置定义事件类型,或者在运行时通过API或EPL语法动态的增加事件类型. EPL中的create schema 的语法允许在运行 ...

  6. NEsper Nuget包

    Esper是专门进行复杂事件处理(CEP)的流处理平台,Java版本为Esper,.Net版本为NEsper.Esper & NEsper可以方便开发者快速开发部署处理大容量消息和事件的应用系 ...

  7. Qt Quick鼠标事件处理、键盘、计时器

    在<Qt Quick 事件处理之信号与槽>中介绍了 QML 中怎样使用内建类型的信号以及怎样自己定义信号,这次我们来看看怎样处理鼠标.键盘.定时器等事件.这些时间在处理时,一般是通过信号来 ...

  8. Microsoft .Net Remoting系列专题之三:Remoting事件处理全接触

    前言:在Remoting中处理事件其实并不复杂,但其中有些技巧需要你去挖掘出来.正是这些技巧,仿佛森严的壁垒,让许多人望而生畏,或者是不知所谓,最后放弃了事件在Remoting的使用.关于这个主题,在 ...

  9. 【转】Microsoft .Net Remoting之Remoting事件处理全接触

    Remoting事件处理全接触 前言:在Remoting中处理事件其实并不复杂,但其中有些技巧需要你去挖掘出来.正是这些技巧,仿佛森严的壁垒,让许多人望而生畏,或者是不知所谓,最后放弃了事件在Remo ...

随机推荐

  1. 2D游戏模型中动态分层的处理 及解决方案 (适用于 webgame 手游等资源控制较严格类型)

    文章若非特别注明转载,皆是原创,转载请注明出处. 本文地址:http://www.cnblogs.com/bobolive/p/3537215.html 2D游戏中模型一般都有换装逻辑,特别是联网游戏 ...

  2. centos6.3安装openvpn客户端

    centos6.3安装openvpn客户端 Centos 默认是没有提供Openvpn的,而且在yum 的源里面也没有openvpn ,如果想使用yum安装的话要首先安装EPEL这个东西.www.2c ...

  3. 排序算法ONE:选择排序SelectSort

    /** *选择排序: * 对冒泡排序的一个改进 * 进行一趟排序时,不用每一次都交换,只需要把最大的标示记下 * 然后再进行一次交换 */ public class SelectSort { /** ...

  4. unix 常用命令

    (一)基本命令 命令格式: 命令 参数 1.ls 显示文件名,等同于dos下dir命令 命令格式:ls [option] file option: -l 显示详细列表 域1 :文件类型和文件权限 域2 ...

  5. javascript变量

    5种简单数据类型(基本数据类型) undefined  null  boolean  number  string (还有一种复杂的数据类型:object) 变量的两种不同的数据类型:基本类型(简单数 ...

  6. 如何配置SSH Keys登录

    SSH Keys简介: 使用SSH Keys的登录远程虚拟云主机的方式比单独使用密码登录更加安全,简单的密码很可能被暴力破解.而目前来看采用长度大于1024位的RSA加密算法,几乎是不可能被破解的.S ...

  7. controller.pp 各组件的安装顺序

    controller 属性:         admin_address => $controller_node_address,         public_address => $c ...

  8. codeforces 633D - Fibonacci-ish 离散化 + 二分查询

    Fibonacci-ish Yash has recently learnt about the Fibonacci sequence and is very excited about it. He ...

  9. 说说对C语言指针的理解

    指针困扰了一些学习编程的人,或许你的老师会告诉你,指针比较难理解. 我当时被老师的话唬住所以学习指针那章的时候都没心情听课.(说得像讲别的内容时我听了似的,开玩笑) 导致了学习链表的时候各种卧槽. * ...

  10. Word分栏

    情景描述 Word分栏在小论文的撰写过程中是很常用的技术.但是,我们经常会遇到很难过的情况: 一段文字本来是连续分布的,可是当选择了分两栏         之后,开始部分在左边一栏,中间在右边一栏. ...