public void setUpdateListeners(EPStatementListenerSet updateListeners, boolean isRecovery) {
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);
}
}