http://esper.codehaus.org/nesper/documentation/documentation.html
环境配置
- NEsper库下载:下载网址
- Vs2010环境集成
在项目中添加下载的dll文件下的库即可。
- Demo展示
事件类:
- 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;
- }
- }
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; } }事件发送类
- 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();
- }
- }
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(); } }事件监听类
- 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();
- }
- }
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---object event example
- send shirt:74.50
- sumPrice:74.5
- received: shirt:74.5
- send shoes:60.50
- sumPrice:135
- received: shoes:60.5
- send coat:70.50
- sumPrice:131
- received: coat:70.5