public void onUndeployment(DeploymentStateEventUndeployed event) { for (EPStatement statement : event.getStatements()) { detachStatement(statement); } } });
public void run(RegressionEnvironment env) { SupportDeploymentStateListener.getEvents().clear(); SupportDeploymentStateListener listener = new SupportDeploymentStateListener(); env.deployment().addDeploymentStateListener(listener); env.compileDeploy("@name('s0') select * from SupportBean"); String deploymentId = env.deploymentId("s0"); DeploymentStateEventDeployed deployed = (DeploymentStateEventDeployed) SupportDeploymentStateListener.getEvents().get(0); SupportDeploymentStateListener.getEvents().clear(); assertEquals(deploymentId, deployed.getDeploymentId()); assertEquals("default", deployed.getRuntimeURI()); assertEquals(1, deployed.getStatements().length); env.undeployAll(); DeploymentStateEventUndeployed undeployed = (DeploymentStateEventUndeployed) SupportDeploymentStateListener.getEvents().get(0); SupportDeploymentStateListener.getEvents().clear(); assertEquals(deploymentId, undeployed.getDeploymentId()); assertEquals("default", undeployed.getRuntimeURI()); assertEquals(1, undeployed.getStatements().length); env.deployment().getDeploymentStateListeners().next(); env.deployment().removeDeploymentStateListener(listener); assertFalse(env.deployment().getDeploymentStateListeners().hasNext()); env.deployment().addDeploymentStateListener(listener); env.deployment().removeAllDeploymentStateListeners(); assertFalse(env.deployment().getDeploymentStateListeners().hasNext()); env.undeployAll(); } }
private void dispatchOnUndeploymentEvent(DeploymentInternal result) { CopyOnWriteArrayList<DeploymentStateListener> listeners = services.getDeploymentLifecycleService().getListeners(); if (listeners.isEmpty()) { return; } EPStatement[] statements = result.getStatements(); DeploymentStateEventUndeployed event = new DeploymentStateEventUndeployed(services.getRuntimeURI(), result.getDeploymentId(), result.getModuleProvider().getModuleName(), statements); for (DeploymentStateListener listener : listeners) { try { listener.onUndeployment(event); } catch (Throwable t) { handleDeploymentEventListenerException("on-undeployment", t); } } }
public void onUndeployment(DeploymentStateEventUndeployed event) { for (EPStatement stmt : event.getStatements()) { UpdateListener listener = listeners.remove(stmt); if (listener != null) { stmt.removeListener(listener); } } }
public void onUndeployment(DeploymentStateEventUndeployed event) { if (!specification.isEnableMetricsReporting()) { return; } for (EPStatement stmt : event.getStatements()) { DeploymentIdNamePair pair = new DeploymentIdNamePair(stmt.getDeploymentId(), stmt.getName()); stmtMetricRepository.removeStatement(pair); statementMetricHandles.remove(pair); } }