diff options
Diffstat (limited to 'feature-healthcheck/src/main/java/org/onap/policy/drools/healthcheck/HealthCheck.java')
-rw-r--r-- | feature-healthcheck/src/main/java/org/onap/policy/drools/healthcheck/HealthCheck.java | 214 |
1 files changed, 0 insertions, 214 deletions
diff --git a/feature-healthcheck/src/main/java/org/onap/policy/drools/healthcheck/HealthCheck.java b/feature-healthcheck/src/main/java/org/onap/policy/drools/healthcheck/HealthCheck.java index d7009be9..1a4dab6b 100644 --- a/feature-healthcheck/src/main/java/org/onap/policy/drools/healthcheck/HealthCheck.java +++ b/feature-healthcheck/src/main/java/org/onap/policy/drools/healthcheck/HealthCheck.java @@ -22,19 +22,7 @@ package org.onap.policy.drools.healthcheck; import java.util.ArrayList; import java.util.List; -import java.util.Properties; -import javax.ws.rs.core.Response; import org.onap.policy.common.capabilities.Startable; -import org.onap.policy.common.endpoints.http.client.HttpClient; -import org.onap.policy.common.endpoints.http.client.HttpClientFactory; -import org.onap.policy.common.endpoints.http.client.HttpClientFactoryInstance; -import org.onap.policy.common.endpoints.http.server.HttpServletServer; -import org.onap.policy.common.endpoints.http.server.HttpServletServerFactory; -import org.onap.policy.common.endpoints.http.server.HttpServletServerFactoryInstance; -import org.onap.policy.drools.persistence.SystemPersistence; -import org.onap.policy.drools.system.PolicyEngine; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; /** * Healthcheck. @@ -175,205 +163,3 @@ public interface HealthCheck extends Startable { */ public Reports healthCheck(); } - - -/** - * Healthcheck Monitor. - */ -class HealthCheckMonitor implements HealthCheck { - - /** - * Logger. - */ - private static Logger logger = LoggerFactory.getLogger(HealthCheckMonitor.class); - - /** - * Attached http servers. - */ - protected volatile List<HttpServletServer> servers = new ArrayList<>(); - - /** - * Attached http clients. - */ - protected volatile List<HttpClient> clients = new ArrayList<>(); - - /** - * Healthcheck configuration. - */ - protected volatile Properties healthCheckProperties = null; - - /** - * {@inheritDoc}. - */ - @Override - public Reports healthCheck() { - Reports reports = new Reports(); - boolean thisEngineIsAlive = getEngineManager().isAlive(); - reports.setHealthy(thisEngineIsAlive); - - HealthCheck.Report engineReport = new Report(); - engineReport.setHealthy(thisEngineIsAlive); - engineReport.setName("PDP-D"); - engineReport.setUrl("self"); - engineReport.setCode(thisEngineIsAlive ? 200 : 500); - engineReport.setMessage(thisEngineIsAlive ? "alive" : "not alive"); - reports.getDetails().add(engineReport); - - for (HttpClient client : clients) { - HealthCheck.Report report = new Report(); - report.setName(client.getName()); - report.setUrl(client.getBaseUrl()); - report.setHealthy(true); - try { - Response response = client.get(); - report.setCode(response.getStatus()); - if (report.getCode() != 200) { - report.setHealthy(false); - reports.setHealthy(false); - } - - report.setMessage(getHttpBody(response, client)); - } catch (Exception e) { - logger.warn("{}: cannot contact http-client {}", this, client, e); - - report.setHealthy(false); - reports.setHealthy(false); - } - reports.getDetails().add(report); - } - return reports; - } - - /** - * {@inheritDoc}. - */ - @Override - public boolean start() { - - try { - this.healthCheckProperties = getPersistentProperties(HealthCheckFeature.CONFIGURATION_PROPERTIES_NAME); - this.servers = getServerFactory().build(healthCheckProperties); - this.clients = getClientFactory().build(healthCheckProperties); - - for (HttpServletServer server : servers) { - if (server.isAaf()) { - server.addFilterClass(null, AafHealthCheckFilter.class.getName()); - } - startServer(server); - } - } catch (Exception e) { - logger.warn("{}: cannot start {}", this, e); - return false; - } - - return true; - } - - /** - * {@inheritDoc}. - */ - @Override - public boolean stop() { - - for (HttpServletServer server : servers) { - try { - server.stop(); - } catch (Exception e) { - logger.warn("{}: cannot stop http-server {}", this, server, e); - } - } - - for (HttpClient client : clients) { - try { - client.stop(); - } catch (Exception e) { - logger.warn("{}: cannot stop http-client {}", this, client, e); - } - } - - return true; - } - - /** - * {@inheritDoc}. - */ - @Override - public void shutdown() { - this.stop(); - } - - /** - * {@inheritDoc}. - */ - @Override - public synchronized boolean isAlive() { - return this.healthCheckProperties != null; - } - - /** - * Get servers. - * - * @return list of attached Http Servers - */ - public List<HttpServletServer> getServers() { - return this.servers; - } - - /** - * Get clients. - * - * @return list of attached Http Clients - */ - public List<HttpClient> getClients() { - return this.clients; - } - - public String getHttpBody(Response response, HttpClient client) { - - String body = null; - try { - body = HttpClient.getBody(response, String.class); - } catch (Exception e) { - logger.info("{}: cannot get body from http-client {}", this, client, e); - } - - return body; - } - - public void startServer(HttpServletServer server) { - try { - server.start(); - } catch (Exception e) { - logger.warn("{}: cannot start http-server {}", this, server, e); - } - } - - @Override - public String toString() { - StringBuilder builder = new StringBuilder(); - builder.append("HealthCheckMonitor [servers="); - builder.append(servers); - builder.append(", clients="); - builder.append(clients); - builder.append("]"); - return builder.toString(); - } - - // the following methods may be overridden by junit tests - - protected PolicyEngine getEngineManager() { - return PolicyEngine.manager; - } - - protected HttpServletServerFactory getServerFactory() { - return HttpServletServerFactoryInstance.getServerFactory(); - } - - protected HttpClientFactory getClientFactory() { - return HttpClientFactoryInstance.getClientFactory(); - } - - protected Properties getPersistentProperties(String propertyName) { - return SystemPersistence.manager.getProperties(propertyName); - } -} |