Commit 7c5e9430 authored by Ioannis Kalyvas's avatar Ioannis Kalyvas
Browse files

Logging Circuit breaker

parent f6cc76a3
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -21,7 +21,13 @@ public abstract class AbstractBatchLogger {
    public AbstractBatchLogger(Environment environment) {
        ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);

        executor.scheduleAtFixedRate(() -> this.outputData(), Long.parseLong(environment.getProperty("http-logger.initial-delay")), Long.parseLong(environment.getProperty("http-logger.delay")), TimeUnit.SECONDS);
        executor.scheduleAtFixedRate(() -> {
            try {
                this.outputData();
            } catch (Exception e) {

            }
        }, Long.parseLong(environment.getProperty("http-logger.initial-delay")), Long.parseLong(environment.getProperty("http-logger.delay")), TimeUnit.SECONDS);
    }

    public abstract LoggingOutputType logOutputType();
@@ -53,5 +59,5 @@ public abstract class AbstractBatchLogger {
        } else return null;
    }

    public abstract void outputData();
    public abstract void outputData() throws Exception;
}
+225 −231
Original line number Diff line number Diff line
@@ -15,7 +15,6 @@ import org.springframework.core.env.Environment;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import types.LoggingOutputType;
@@ -36,9 +35,9 @@ public class HttpRemoteLogger extends AbstractBatchLogger implements Logger {
	private Environment environment;

	@Autowired
    public HttpRemoteLogger(Environment environment) {
	public HttpRemoteLogger(Environment environment, RestTemplate loggerClient) {
		super(environment);
        this.rest = new RestTemplate();
		this.rest = loggerClient;
		this.headers = new HttpHeaders();
		this.environment = environment;
		headers.add("Content-Type", "application/json");
@@ -46,17 +45,12 @@ public class HttpRemoteLogger extends AbstractBatchLogger implements Logger {
	}

	@Override
    public void outputData() {
        try {
	public void outputData() throws Exception {
		String log = this.tranformLog();
		if (log != null) {
			HttpEntity<String> requestEntity = new HttpEntity(log, headers);
                ResponseEntity<String> Object = rest.exchange(this.environment.getProperty("http-logger.server-address"), HttpMethod.POST, requestEntity, String.class);
            }
        } catch (Exception ex) {
            ex.printStackTrace();
			rest.exchange(this.environment.getProperty("http-logger.server-address"), HttpMethod.POST, requestEntity, String.class);
		}

	}

	@Override
+1 −8
Original line number Diff line number Diff line
package eu.eudat.configurations;
package eu.eudat.configurations.database.elasticsearch;

import org.apache.http.HttpHost;
import org.elasticsearch.client.Client;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.TransportAddress;
import org.elasticsearch.transport.client.PreBuiltTransportClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;

import java.net.InetAddress;

/**
 * Created by ikalyvas on 7/5/2018.
 */
+1 −2
Original line number Diff line number Diff line
package eu.eudat.configurations;
package eu.eudat.configurations.database.sql;


import org.springframework.beans.factory.annotation.Autowired;
@@ -7,7 +7,6 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.*;
import org.springframework.core.env.Environment;
import org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import org.springframework.orm.jpa.JpaTransactionManager;
import org.springframework.orm.jpa.JpaVendorAdapter;
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
+1 −1
Original line number Diff line number Diff line
package eu.eudat.configurations;
package eu.eudat.configurations.database.sql;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
Loading