Esper:使用group-by子句时事件不会传递给订阅者

时间:2012-03-13 14:11:23

标签: group-by esper

我使用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子句时,一切都很顺利。

有什么问题?

1 个答案:

答案 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);