Skip to content
This repository was archived by the owner on Jun 29, 2018. It is now read-only.

Commit 1eec10c

Browse files
committed
Make ApplicationDiscoveryListener customizable
1 parent b107544 commit 1eec10c

2 files changed

Lines changed: 7 additions & 5 deletions

File tree

spring-boot-admin-server/src/main/java/de/codecentric/boot/admin/config/DiscoveryClientConfiguration.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,9 @@
1818
import org.springframework.beans.factory.annotation.Autowired;
1919
import org.springframework.beans.factory.annotation.Value;
2020
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
21-
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
21+
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
2222
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
23+
import org.springframework.boot.autoconfigure.condition.ConditionalOnSingleCandidate;
2324
import org.springframework.cloud.client.discovery.DiscoveryClient;
2425
import org.springframework.cloud.client.discovery.noop.NoopDiscoveryClientAutoConfiguration;
2526
import org.springframework.context.annotation.Bean;
@@ -29,7 +30,7 @@
2930
import de.codecentric.boot.admin.registry.ApplicationRegistry;
3031

3132
@Configuration
32-
@ConditionalOnClass({ DiscoveryClient.class })
33+
@ConditionalOnSingleCandidate(DiscoveryClient.class)
3334
@ConditionalOnProperty(prefix = "spring.boot.admin.discovery", name = "enabled", matchIfMissing = true)
3435
@AutoConfigureAfter({ NoopDiscoveryClientAutoConfiguration.class })
3536
public class DiscoveryClientConfiguration {
@@ -44,6 +45,7 @@ public class DiscoveryClientConfiguration {
4445
private ApplicationRegistry registry;
4546

4647
@Bean
48+
@ConditionalOnMissingBean
4749
public ApplicationDiscoveryListener applicationDiscoveryListener() {
4850
ApplicationDiscoveryListener listener = new ApplicationDiscoveryListener(discoveryClient,
4951
registry);

spring-boot-admin-server/src/main/java/de/codecentric/boot/admin/discovery/ApplicationDiscoveryListener.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,15 +73,15 @@ private void discoverIfNeeded(Object value) {
7373
}
7474
}
7575

76-
public void discover() {
76+
protected void discover() {
7777
for (String serviceId : discoveryClient.getServices()) {
7878
for (ServiceInstance instance : discoveryClient.getInstances(serviceId)) {
7979
registry.register(convert(instance));
8080
}
8181
}
8282
}
8383

84-
private Application convert(ServiceInstance instance) {
84+
protected Application convert(ServiceInstance instance) {
8585
String serviceUrl = append(instance.getUri().toString(), serviceContextPath);
8686
String managementUrl = append(instance.getUri().toString(), managementContextPath);
8787
String healthUrl = append(managementUrl, healthEndpoint);
@@ -102,7 +102,7 @@ public void setHealthEndpoint(String healthEndpoint) {
102102
this.healthEndpoint = healthEndpoint;
103103
}
104104

105-
private String append(String uri, String path) {
105+
protected final String append(String uri, String path) {
106106
String baseUri = uri.replaceFirst("/+$", "");
107107
if (StringUtils.isEmpty(path)) {
108108
return baseUri;

0 commit comments

Comments
 (0)