private void checkAllowSubscriber() throws EPSubscriberException { if (!statementContext.getStatementInformationals().isAllowSubscriber()) { throw new EPSubscriberException("Setting a subscriber is not allowed for the statement, the statement has been compiled with allowSubscriber=false"); } } }
private static void tryInvalid(Object subscriber, EPStatement stmt, String message) { try { stmt.setSubscriber(subscriber); fail(); } catch (EPSubscriberException ex) { assertEquals(message, ex.getMessage()); } }
public void setUpdateListeners(EPStatementListenerSet updateListeners, boolean isRecovery) { // indicate that listeners were updated for potential persistence of listener set, once the statement context is known if (epStatement != null) { if (!isRecovery) { StatementContext stmtCtx = epStatement.getStatementContext(); epServicesContext.getEpServicesHA().getListenerRecoveryService().put(stmtCtx.getStatementId(), stmtCtx.getStatementName(), updateListeners.getListeners()); } } this.statementListenerSet = updateListeners; isMakeNatural = statementListenerSet.getSubscriber() != null; isMakeSynthetic = !(statementListenerSet.getListeners().length == 0) || statementInformationals.isAlwaysSynthesizeOutputEvents(); if (statementListenerSet.getSubscriber() == null) { statementResultNaturalStrategy = null; isMakeNatural = false; return; } try { statementResultNaturalStrategy = ResultDeliveryStrategyFactory.create(epStatement, statementListenerSet.getSubscriber(), statementListenerSet.getSubscriberMethodName(), selectClauseTypes, selectClauseColumnNames, runtime.getURI(), runtime.getServicesContext().getClasspathImportServiceRuntime()); isMakeNatural = true; } catch (ResultDeliveryStrategyInvalidException ex) { throw new EPSubscriberException(ex.getMessage(), ex); } }