Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/HH-114285' into EXP-41903
Browse files Browse the repository at this point in the history
  • Loading branch information
HH ReleaseBot committed Aug 12, 2020
2 parents b94bb21 + 116e17f commit 50c3b66
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 8 deletions.
19 changes: 14 additions & 5 deletions nab-starter/src/main/java/ru/hh/nab/starter/ConsulService.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

import com.ecwid.consul.v1.ConsulClient;
import com.ecwid.consul.v1.agent.model.NewService;
import java.util.ArrayList;
import javax.annotation.Nullable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ru.hh.nab.common.properties.FileSettings;
Expand All @@ -11,22 +13,29 @@
import java.util.Collections;
import java.util.Objects;
import java.util.Optional;
import ru.hh.nab.starter.logging.LogLevelOverrideExtension;

public class ConsulService {

private static final Logger logger = LoggerFactory.getLogger(ConsulService.class);
private static final Logger LOGGER = LoggerFactory.getLogger(ConsulService.class);

private static final String LOG_LEVEL_OVERRIDE_EXTENSION_TAG = "log_level_override_extension_enabled";

private final ConsulClient client;
private final NewService service;
private final String id;
private final boolean enabled;

public ConsulService(FileSettings fileSettings, String datacenter, String address, AppMetadata appMetadata) {
public ConsulService(FileSettings fileSettings, String datacenter, String address, AppMetadata appMetadata,
@Nullable LogLevelOverrideExtension logLevelOverrideExtension) {
var applicationPort = fileSettings.getInteger("jetty.port");
var applicationHost = Optional.ofNullable(fileSettings.getString("consul.check.host"))
.orElse("127.0.0.1");
var id = fileSettings.getString("serviceName") + "-" + datacenter + "-" + address + "-" + applicationPort;
var tags = fileSettings.getStringList("consul.tags");
var tags = new ArrayList<>(fileSettings.getStringList("consul.tags"));
if (logLevelOverrideExtension != null) {
tags.add(LOG_LEVEL_OVERRIDE_EXTENSION_TAG);
}

NewService.Check check = new NewService.Check();
check.setHttp("http://" + applicationHost + ":" + applicationPort + "/status");
Expand Down Expand Up @@ -61,7 +70,7 @@ public void register() {
if (enabled) {
try {
client.agentServiceRegister(service);
logger.info("Registered consul service: {}", service);
LOGGER.info("Registered consul service: {}", service);
} catch (RuntimeException ex) {
throw new ConsulServiceException("Can't register service in consul", ex);
}
Expand All @@ -72,7 +81,7 @@ public void register() {
void deregister() {
if (enabled) {
client.agentServiceDeregister(id);
logger.info("De-registered id: {} from consul", id);
LOGGER.info("De-registered id: {} from consul", id);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import com.timgroup.statsd.NonBlockingStatsDClient;
import com.timgroup.statsd.StatsDClient;

import java.util.Optional;
import static java.util.Optional.ofNullable;

import java.io.IOException;
Expand All @@ -21,6 +22,7 @@

import static ru.hh.nab.common.properties.PropertiesUtils.fromFilesInSettingsDir;
import ru.hh.nab.starter.events.JettyEventListener;
import ru.hh.nab.starter.logging.LogLevelOverrideExtension;
import static ru.hh.nab.starter.server.cache.HttpCacheFilterFactory.createCacheFilterHolder;

@Configuration
Expand Down Expand Up @@ -57,9 +59,10 @@ ConsulClient consulClient(FileSettings fileSettings) {

@Bean
@Lazy(value = false)
ConsulService consulService(FileSettings fileSettings, String datacenter, AppMetadata appMetadata) throws UnknownHostException {
ConsulService consulService(FileSettings fileSettings, String datacenter, AppMetadata appMetadata,
Optional<LogLevelOverrideExtension> logLevelOverrideExtensionOptional) throws UnknownHostException {
var address = InetAddress.getLocalHost().getHostAddress();
return new ConsulService(fileSettings, datacenter, address, appMetadata);
return new ConsulService(fileSettings, datacenter, address, appMetadata, logLevelOverrideExtensionOptional.orElse(null));
}

@Bean
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
public class NabAppTestConfig {
@Bean
ConsulService consulService(FileSettings fileSettings, AppMetadata appMetadata) {
return spy(new ConsulService(fileSettings, null, null, appMetadata));
return spy(new ConsulService(fileSettings, null, null, appMetadata, null));
}

@Bean
Expand Down

0 comments on commit 50c3b66

Please sign in to comment.