我使用Nesper(4.1.2 / 4.5.0)并且遇到问题:使用group-by子句时事件没有传递给订阅者。
EPL查询:
select Operation, count(*) as OperationCount from OperationEvent.win:time(10 sec) group by Operation
每5秒输出一次
订户
public void Update(IDictionary<string, object>[] insertStream, IDictionary<string, object>[] removeStream)
{ ... }
当我删除group by子句时,一切都很顺利。
有什么问题?
答案 0 :(得分:0)
我解决了我的问题。当我在AddEventType
方法中添加地图而不是类型时,一切正常。我将事件作为地图(IDictionary&lt;&gt;)发送,而不是对象。
正确的解决方案:
var map = eventType.GetProperties(BindingFlags.Instance | BindingFlags.Public).ToDictionary(property => property.Name, property => (object) property.PropertyType);
_epService.EPAdministrator.Configuration.AddEventType(eventType.Name, map);