@Override public void onDelete(Trigger object) { log.debug("Destroying EPSstatement:{}",epStatement.getName()); epService.getEPAdministrator().getStatement(epStatement.getName()).destroy(); } }
public List<Object> loadStatementByName(String name) throws ParseException, DeploymentException, IOException { EPStatement statement = epAdministrator.getStatement(name); List<Object> list = new ArrayList<>(); if (statement != null && statement.isStarted()) { SafeIterator<EventBean> it = statement.safeIterator(); try { while (it.hasNext()) { EventBean bean = it.next(); Object underlaying = bean.getUnderlying(); list.add(underlaying); } } finally { it.close(); } } return list; }
@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(); }