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; }
public <T> T concurrentSafeQueryForObject(ParameterizedEsperRowMapper<T> rm) { LOG.info("Concurrent safe query for object being executed"); if (epStatement.isStopped() || epStatement.isDestroyed()) { LOG .error("Concurrent safe query for object was attempted when the statement was stopped or destroyed"); throw new EsperStatementInvalidStateException( "Attempted to execute a concurrent safe query for object when esper statement resource had state of " + epStatement.getState()); } SafeIterator<EventBean> safeIter = this.epStatement.safeIterator(); T result = null; try { // Only retrieve the last result while (safeIter.hasNext()) { EventBean event = safeIter.next(); if (!safeIter.hasNext()) { result = rm.mapRow(event); } } } finally { safeIter.close(); } LOG.info("Concurrent safe query for object was completed"); return result; }
public <T> List<T> concurrentSafeQuery(ParameterizedEsperRowMapper<T> rm) { LOG.info("Concurrent safe query being executed"); if (epStatement.isStopped() || epStatement.isDestroyed()) { LOG .error("Concurrent safe query was attempted when the statement was stopped or destroyed"); throw new EsperStatementInvalidStateException( "Attempted to execute a concurrent safe query when esper statement resource had state of " + epStatement.getState()); } SafeIterator<EventBean> safeIter = this.epStatement.safeIterator(); List<T> objectList = new ArrayList<T>(); try { for (; safeIter.hasNext();) { EventBean event = safeIter.next(); objectList.add(rm.mapRow(event)); } } finally { safeIter.close(); } LOG.info("Concurrent safe query was completed"); return objectList; }