Commit c992066a by Spencer Gibb

only create the /routes endpoint if actuator is on the classpath

parent da6da6d7
...@@ -33,7 +33,7 @@ public class ZuulConfiguration { ...@@ -33,7 +33,7 @@ public class ZuulConfiguration {
private ZuulProperties zuulProperties; private ZuulProperties zuulProperties;
@Bean @Bean
public RouteLocator routes() { public RouteLocator routeLocator() {
return new SimpleRouteLocator(zuulProperties); return new SimpleRouteLocator(zuulProperties);
} }
......
...@@ -3,7 +3,9 @@ package org.springframework.cloud.netflix.zuul; ...@@ -3,7 +3,9 @@ package org.springframework.cloud.netflix.zuul;
import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.AtomicReference;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.endpoint.Endpoint;
import org.springframework.boot.actuate.trace.TraceRepository; import org.springframework.boot.actuate.trace.TraceRepository;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.cloud.client.discovery.DiscoveryClient; import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.cloud.client.discovery.DiscoveryHeartbeatEvent; import org.springframework.cloud.client.discovery.DiscoveryHeartbeatEvent;
import org.springframework.cloud.client.discovery.InstanceRegisteredEvent; import org.springframework.cloud.client.discovery.InstanceRegisteredEvent;
...@@ -39,20 +41,27 @@ public class ZuulProxyConfiguration extends ZuulConfiguration { ...@@ -39,20 +41,27 @@ public class ZuulProxyConfiguration extends ZuulConfiguration {
@Bean @Bean
@Override @Override
public ProxyRouteLocator routes() { public ProxyRouteLocator routeLocator() {
return new ProxyRouteLocator(discovery, zuulProperties); return new ProxyRouteLocator(discovery, zuulProperties);
} }
@Configuration
@ConditionalOnClass(Endpoint.class)
protected static class RoutesEndpointConfuguration {
@Autowired
private ProxyRouteLocator routeLocator;
@Bean @Bean
// @RefreshScope // @RefreshScope
public RoutesEndpoint zuulEndpoint() { public RoutesEndpoint zuulEndpoint() {
return new RoutesEndpoint(routes()); return new RoutesEndpoint(routeLocator);
}
} }
// pre filters // pre filters
@Bean @Bean
public PreDecorationFilter preDecorationFilter() { public PreDecorationFilter preDecorationFilter() {
return new PreDecorationFilter(routes(), zuulProperties); return new PreDecorationFilter(routeLocator(), zuulProperties);
} }
// route filters // route filters
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment