remove sidecar as a toplevel project (doesn't make sense since consul IS a sidecar).
Add a zuul application test
This commit is contained in:
7
pom.xml
7
pom.xml
@@ -30,8 +30,8 @@
|
||||
<module>spring-cloud-consul-config</module>
|
||||
<module>spring-cloud-consul-discovery</module>
|
||||
<module>spring-cloud-consul-bus</module>
|
||||
<module>spring-cloud-consul-sidecar</module>
|
||||
<module>spring-cloud-consul-sample</module>
|
||||
<module>spring-cloud-consul-tests</module>
|
||||
</modules>
|
||||
|
||||
<build>
|
||||
@@ -107,6 +107,11 @@
|
||||
<artifactId>spring-cloud-config-client</artifactId>
|
||||
<version>1.0.0.BUILD-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-zuul</artifactId>
|
||||
<version>1.0.0.BUILD-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-netflix-sidecar</artifactId>
|
||||
|
||||
@@ -93,13 +93,14 @@ public class ConsulRibbonClientConfiguration implements BeanPostProcessor {
|
||||
}
|
||||
|
||||
private void wrapServerList(DynamicServerListLoadBalancer<?> balancer) {
|
||||
@SuppressWarnings("unchecked")
|
||||
DynamicServerListLoadBalancer<ConsulServer> dynamic = (DynamicServerListLoadBalancer<ConsulServer>) balancer;
|
||||
ServerList<ConsulServer> list = dynamic.getServerListImpl();
|
||||
if (list instanceof ConsulServerList) {
|
||||
ConsulServerList csl = (ConsulServerList) list;
|
||||
csl.setClient(client);
|
||||
}
|
||||
// TODO: fix this set client hack
|
||||
@SuppressWarnings("unchecked")
|
||||
DynamicServerListLoadBalancer<ConsulServer> dynamic = (DynamicServerListLoadBalancer<ConsulServer>) balancer;
|
||||
ServerList<ConsulServer> list = dynamic.getServerListImpl();
|
||||
if (list instanceof ConsulServerList) {
|
||||
ConsulServerList csl = (ConsulServerList) list;
|
||||
csl.setClient(client);
|
||||
}
|
||||
}
|
||||
|
||||
protected void setProp(String serviceId, String suffix, String value) {
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
package org.springframework.cloud.consul.sidecar;
|
||||
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
/**
|
||||
* @author Spencer Gibb
|
||||
*/
|
||||
@Configuration
|
||||
public class ConsulSidecarConfiguration {
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
package org.springframework.cloud.consul.sidecar;
|
||||
|
||||
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
|
||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||
import org.springframework.cloud.netflix.sidecar.SidecarConfiguration;
|
||||
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
|
||||
import org.springframework.context.annotation.Import;
|
||||
|
||||
import java.lang.annotation.*;
|
||||
|
||||
/**
|
||||
* @author Spencer Gibb
|
||||
*/
|
||||
@EnableCircuitBreaker
|
||||
@EnableDiscoveryClient
|
||||
@EnableZuulProxy
|
||||
@Target(ElementType.TYPE)
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Documented
|
||||
@Import({SidecarConfiguration.class, ConsulSidecarConfiguration.class})
|
||||
public @interface EnableSidecar {
|
||||
|
||||
}
|
||||
@@ -4,10 +4,10 @@
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>spring-cloud-consul-sidecar</artifactId>
|
||||
<artifactId>spring-cloud-consul-tests</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<name>Spring Cloud Consul Sidecar</name>
|
||||
<description>Spring Cloud Consul Sidecar</description>
|
||||
<name>Spring Cloud Consul Tests</name>
|
||||
<description>Spring Cloud Consul Tests</description>
|
||||
|
||||
<parent>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
@@ -33,6 +33,10 @@
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-consul-discovery</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-zuul</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-netflix-sidecar</artifactId>
|
||||
@@ -23,11 +23,17 @@ import org.springframework.boot.actuate.metrics.repository.InMemoryMetricReposit
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.test.IntegrationTest;
|
||||
import org.springframework.boot.test.SpringApplicationConfiguration;
|
||||
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
|
||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||
import org.springframework.cloud.netflix.sidecar.*;
|
||||
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.lang.annotation.*;
|
||||
|
||||
@RunWith(SpringJUnit4ClassRunner.class)
|
||||
@SpringApplicationConfiguration(classes = SidecarApplicationTests.SidecarApplication.class)
|
||||
@IntegrationTest("server.port=0")
|
||||
@@ -39,7 +45,10 @@ public class SidecarApplicationTests {
|
||||
|
||||
|
||||
@SpringBootApplication
|
||||
@org.springframework.cloud.netflix.sidecar.EnableSidecar
|
||||
@EnableCircuitBreaker
|
||||
@EnableDiscoveryClient
|
||||
@EnableZuulProxy
|
||||
@Import(SidecarConfiguration.class)
|
||||
@RestController
|
||||
public static class SidecarApplication {
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
/*
|
||||
* Copyright 2013-2015 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.cloud.consul.sidecar;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.actuate.metrics.repository.InMemoryMetricRepository;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.boot.test.IntegrationTest;
|
||||
import org.springframework.boot.test.SpringApplicationConfiguration;
|
||||
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
|
||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||
|
||||
@RunWith(SpringJUnit4ClassRunner.class)
|
||||
@SpringApplicationConfiguration(classes = ZuulApplicationTests.ZuulApplication.class)
|
||||
@IntegrationTest("server.port=0")
|
||||
public class ZuulApplicationTests {
|
||||
|
||||
@Test
|
||||
public void contextLoads() {
|
||||
}
|
||||
|
||||
|
||||
@SpringBootApplication
|
||||
@EnableCircuitBreaker
|
||||
@EnableDiscoveryClient
|
||||
@EnableZuulProxy
|
||||
public static class ZuulApplication {
|
||||
|
||||
@Bean
|
||||
public InMemoryMetricRepository inMemoryMetricRepository() {
|
||||
return new InMemoryMetricRepository();
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(ZuulApplication.class, args);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user