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
}

任何帮助将不胜感激。

4

2 回答 2

0

使用按需查询 api 对 esper 运行时引擎进行一次性查询:

String query = "select prev(0, evt) from Stream.win:length(10) as evt";
EPOnDemandQueryResult result = cepRT.executeQuery(query);
于 2013-08-28T19:05:21.003 回答
0

您可以使用“prev”功能。“在规则完成之前”具体是什么意思?

于 2013-08-21T10:04:40.073 回答