Esper: события не передаются подписчику при использовании предложения group-by

Я использую 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, все работает хорошо.

Что не так?


person Edward Weinert    schedule 13.03.2012    source источник


Ответы (1)


Я решил свою проблему. Когда я добавляю карту вместо типа в методе AddEventType, все работает правильно. Я отправляю событие как карту (IDictionary‹>), а не как объект.

Правильное решение:

var map = eventType.GetProperties(BindingFlags.Instance | BindingFlags.Public).ToDictionary(property => property.Name, property => (object) property.PropertyType);

_epService.EPAdministrator.Configuration.AddEventType(eventType.Name, map);

person Edward Weinert    schedule 14.03.2012