http://esper.codehaus.org/nesper/documentation/documentation.html
环境配置
在项目中添加下载的dll文件下的库即可。
事件类:
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 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();
}
}
运行结果原文:http://www.cnblogs.com/zeroone/p/3660203.html