Я пишу небольшую программу CEP, используя Siddhi. Я могу добавить функцию обратного вызова всякий раз, когда данный фильтр выводит данные, как этотОбратный вызов, когда запрос завершил обработку в Сиддхи
executionPlanRuntime.addCallback("query1", new QueryCallback() {
@Override
public void receive(long timeStamp, Event[] inEvents, Event[] removeEvents) {
EventPrinter.print(inEvents);
System.out.println("data received after processing");
}
});
, но есть способ, чтобы знать, что фильтр завершил обработку, и это не даст больше указанного выше обратного вызова. Что-то вроде didFinish
. Я думаю, что это было бы идеальным местом для закрытия SiddhiManager
и ExecutionPlanRuntime
экземпляров.
Спасибо за ваше объяснение. Я реализовал нечто подобное. Когда я закончил подавать запрос на запрос, я жду 5 секунд, прежде чем вызывать остановку. Очень грубый подход, который я знаю, но это то, что я сейчас делаю. – shshnk