/** * Removes all statements and listeners from the esper engine, */ public void removeFromEngine() { for (EPStatement epst : this.epStatements.values()) { if (logger.isDebugEnabled()) logger.debug("Removing statement: \n\t" + epst.getText()); epst.removeAllListeners(); epst.destroy(); } /* destroy this complete engine - its independent */ this.epService.destroy(); }
public void recreateEpl(int eplId, Epl epl) { EPStatement epStatement = eplStateMap.get(eplId); if(epStatement != null && !epStatement.isDestroyed()) { epStatement.removeAllListeners(); epStatement.destroy(); } String eplSql = epl.getEplSql(); String[] eplSqls = eplSql.trim().split(";"); for(int i = 0; i < eplSqls.length; i++) { if(!StringUtils.isBlank(eplSqls[i])) { if(i == eplSqls.length - 1) { epStatement = this.admin.createEPL(eplSqls[i].trim()); LOG.info("Add statistic epl : " + eplSql); if(epStatement != null) eplStateMap.put(epl.getId(), epStatement); } else { admin.createEPL(eplSqls[i].trim()); } } } epStatement.addListener(new StatisticListener(epl, collector)); LOG.info("Recreate statistic epl : " + eplSql); }
public void recreateEpl(int eplId, AlarmEpl epl) { EPStatement epStatement = eplStateMap.get(eplId); if(epStatement != null) { epStatement.removeAllListeners(); epStatement.destroy(); } String eplSql = epl.getEplSql(); epStatement = this.admin.createEPL(eplSql); epStatement.addListener(new AlertListener(epl.getAlarmEplId(), epl.getEplId(), epl.getEplName(), epl.getAlarm())); if(epStatement != null) eplStateMap.put(epl.getAlarmEplId(), epStatement); LOG.info("Recreate EPl : " + eplSql); }
@Override public void discard() { LOG.info("Removing existing statements"); for(EPStatement epStatement : epStatements) { epService.getEPAdministrator().getStatement(epStatement.getName()).removeAllListeners(); epService.getEPAdministrator().getStatement(epStatement.getName()).stop(); epService.getEPAdministrator().getStatement(epStatement.getName()).destroy(); } epStatements.clear(); for(String eventName : eventTypeNames) { try { epService.getEPAdministrator().getConfiguration().removeEventType(eventName, false); } catch (ConfigurationException ce) { LOG.error("Event type used in another statement which is still running, skipping..."); } } queue.interrupt(); }