2013-08-21 3 views
0

Есть ли способ получить последнее вставленное событие в ядре esper до завершения правила?Эспер последнее вставленное Событие

Configuration cepConfig = new Configuration(); 
    cepConfig.getEngineDefaults().getMetricsReporting(). 
    setEnableMetricsReporting(true); 
cepConfig.addEventType("Stream", Stream.class.getName()); 
EPServiceProvider cep = EPServiceProviderManager.getProvider("myCEPEngine", cepConfig); 
EPRuntime cepRT = cep.getEPRuntime(); 
EPAdministrator cepAdm = cep.getEPAdministrator(); 
EPStatement cepStatement = cepAdm.createEPL("select * from Stream.win:length(100)") ; 
cepStatement.addListener(new CEPListener()); 

Теперь для вставки события я использую этот пример кода

for (int i = 0; i < 500; i++) { 
    GenerateRandomStream(cepRT); 
    //Here I want get the last inserted event 
} 

Любая помощь будет оценена.

+0

вы смогли попробовать подход, изложенный в моем ответе? Результаты? –

+0

Мне не удалось использовать нижеприведенную вещь ... – abhi

+0

В чем была проблема? –

ответ

0

Существует функция «prev», которую вы можете использовать. Что конкретно вы подразумеваете под «до завершения правила»?

+0

, говоря перед завершением правила, я имею в виду до * слушателя *. Я хочу знать, есть ли какой-либо другой способ получить эту информацию, * не используя прослушиватель *, может использовать пакет esper client. – abhi

0

Используйте по требованию API запросов, чтобы сделать один раз, запрос о времени выполнения двигателя Эспер в:

String query = "select prev(0, evt) from Stream.win:length(10) as evt"; 
EPOnDemandQueryResult result = cepRT.executeQuery(query); 
Смежные вопросы