Skip to content

Commit 4b3879a

Browse files
committed
修改启动开关
1 parent 29d5514 commit 4b3879a

File tree

23 files changed

+131
-64
lines changed

23 files changed

+131
-64
lines changed

spring-cloud-gray-client-netflix/src/main/java/cn/springcloud/gray/client/netflix/configuration/GrayClientEurekaAutoConfiguration.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package cn.springcloud.gray.client.netflix.configuration;
22

3+
import cn.springcloud.gray.GrayManager;
34
import cn.springcloud.gray.InstanceLocalInfo;
45
import cn.springcloud.gray.client.netflix.eureka.EurekaInstanceDiscoveryClient;
56
import cn.springcloud.gray.client.netflix.eureka.EurekaServerExplainer;
@@ -15,7 +16,7 @@
1516
import org.springframework.context.annotation.Configuration;
1617

1718
@Configuration
18-
@ConditionalOnBean(EurekaClient.class)
19+
@ConditionalOnBean({GrayManager.class, EurekaClient.class})
1920
public class GrayClientEurekaAutoConfiguration {
2021

2122
@Autowired

spring-cloud-gray-client-netflix/src/main/java/cn/springcloud/gray/client/netflix/configuration/HystrixGrayAutoConfiguration.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import com.netflix.hystrix.strategy.concurrency.HystrixRequestContext;
1212
import feign.hystrix.HystrixFeign;
1313
import org.springframework.beans.factory.annotation.Autowired;
14+
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
1415
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
1516
import org.springframework.context.annotation.Bean;
1617
import org.springframework.context.annotation.Configuration;
@@ -22,6 +23,7 @@
2223
import java.io.IOException;
2324

2425
@Configuration
26+
@ConditionalOnBean(GrayManager.class)
2527
@ConditionalOnClass({HystrixCommand.class, HystrixFeign.class})
2628
public class HystrixGrayAutoConfiguration {
2729

spring-cloud-gray-client-netflix/src/main/java/cn/springcloud/gray/client/netflix/configuration/NetflixGrayAutoConfiguration.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@
66
import cn.springcloud.gray.client.netflix.ribbon.configuration.GrayRibbonClientsConfiguration;
77
import cn.springcloud.gray.request.RequestLocalStorage;
88
import org.springframework.beans.factory.annotation.Autowired;
9+
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
910
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
1011
import org.springframework.cloud.netflix.ribbon.RibbonClients;
1112
import org.springframework.context.annotation.Bean;
1213
import org.springframework.context.annotation.Configuration;
1314

1415
@Configuration
16+
@ConditionalOnBean(GrayManager.class)
1517
@RibbonClients(defaultConfiguration = GrayRibbonClientsConfiguration.class)
1618
public class NetflixGrayAutoConfiguration {
1719

spring-cloud-gray-client-netflix/src/main/java/cn/springcloud/gray/client/netflix/feign/configuration/GrayFeignAutoConfiguration.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package cn.springcloud.gray.client.netflix.feign.configuration;
22

3+
import cn.springcloud.gray.GrayManager;
34
import cn.springcloud.gray.client.netflix.configuration.HystrixGrayAutoConfiguration;
45
import cn.springcloud.gray.client.netflix.feign.GrayTrackFeignRequestInterceptor;
56
import cn.springcloud.gray.request.RequestLocalStorage;
67
import com.netflix.loadbalancer.ILoadBalancer;
78
import feign.Feign;
9+
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
810
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
911
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
1012
import org.springframework.cloud.netflix.feign.EnableFeignClients;
@@ -14,8 +16,9 @@
1416
/**
1517
* Created by saleson on 2017/11/9.
1618
*/
17-
@ConditionalOnClass(value = {ILoadBalancer.class, Feign.class})
1819
@Configuration
20+
@ConditionalOnBean(GrayManager.class)
21+
@ConditionalOnClass(value = {ILoadBalancer.class, Feign.class})
1922
@EnableFeignClients(defaultConfiguration = {GrayFeignClientsConfiguration.class})
2023
public class GrayFeignAutoConfiguration {
2124

spring-cloud-gray-client-netflix/src/main/java/cn/springcloud/gray/client/netflix/resttemplate/configuration/GrayRestTemplateAutoConfiguration.java

Lines changed: 15 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package cn.springcloud.gray.client.netflix.resttemplate.configuration;
22

3+
import cn.springcloud.gray.GrayManager;
34
import cn.springcloud.gray.client.config.properties.GrayRequestProperties;
45
import cn.springcloud.gray.client.netflix.connectionpoint.RibbonConnectionPoint;
56
import cn.springcloud.gray.client.netflix.resttemplate.GrayClientHttpRequestIntercptor;
67
import cn.springcloud.gray.client.netflix.resttemplate.RestTemplateRequestInterceptor;
78
import org.springframework.beans.factory.annotation.Autowired;
9+
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
810
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
9-
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
10-
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClass;
1111
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
1212
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
1313
import org.springframework.context.annotation.Bean;
@@ -17,44 +17,25 @@
1717
import java.util.List;
1818

1919
@Configuration
20-
@ConditionalOnClass(value = RestTemplate.class)
20+
@ConditionalOnBean({GrayManager.class, RestTemplate.class})
21+
@ConditionalOnClass(value = {RestTemplate.class, LoadBalanced.class})
2122
public class GrayRestTemplateAutoConfiguration {
2223

24+
@Autowired
25+
private GrayRequestProperties grayRequestProperties;
26+
@Autowired
27+
private RibbonConnectionPoint ribbonConnectionPoint;
2328

24-
@ConditionalOnMissingBean(RestTemplate.class)
25-
@ConditionalOnClass({LoadBalanced.class})
26-
public static class LoadBalancedRestTemplateConfiguration {
2729

28-
@Autowired
29-
private GrayRequestProperties grayRequestProperties;
30-
@Autowired
31-
private RibbonConnectionPoint ribbonConnectionPoint;
32-
33-
@Bean
34-
@LoadBalanced
35-
public RestTemplate restTemplate() {
36-
RestTemplate restTemplate = new RestTemplate();
37-
return restTemplate;
38-
}
39-
40-
@Bean
41-
public GrayClientHttpRequestIntercptor grayClientHttpRequestIntercptor(@LoadBalanced List<RestTemplate> restTemplates) {
42-
GrayClientHttpRequestIntercptor intercptor = new GrayClientHttpRequestIntercptor(
43-
grayRequestProperties, ribbonConnectionPoint);
30+
@Bean
31+
public GrayClientHttpRequestIntercptor grayClientHttpRequestIntercptor(
32+
@Autowired(required = false) @LoadBalanced List<RestTemplate> restTemplates) {
33+
GrayClientHttpRequestIntercptor intercptor = new GrayClientHttpRequestIntercptor(
34+
grayRequestProperties, ribbonConnectionPoint);
35+
if (restTemplates != null) {
4436
restTemplates.forEach(restTemplate -> restTemplate.getInterceptors().add(intercptor));
45-
return intercptor;
46-
}
47-
}
48-
49-
50-
@ConditionalOnMissingBean(RestTemplate.class)
51-
@ConditionalOnMissingClass({"org.springframework.cloud.client.loadbalancer.LoadBalanced"})
52-
public static class RestTemplateConfiguration {
53-
@Bean
54-
public RestTemplate restTemplate() {
55-
RestTemplate restTemplate = new RestTemplate();
56-
return restTemplate;
5737
}
38+
return intercptor;
5839
}
5940

6041

spring-cloud-gray-client-netflix/src/main/java/cn/springcloud/gray/client/netflix/zuul/configuration/GrayZuulAutoConfiguration.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package cn.springcloud.gray.client.netflix.zuul.configuration;
22

3+
import cn.springcloud.gray.GrayManager;
34
import cn.springcloud.gray.client.config.properties.GrayRequestProperties;
45
import cn.springcloud.gray.client.netflix.configuration.HystrixGrayAutoConfiguration;
56
import cn.springcloud.gray.client.netflix.connectionpoint.RibbonConnectionPoint;
@@ -8,12 +9,14 @@
89
import cn.springcloud.gray.client.netflix.zuul.ZuulRequestInterceptor;
910
import com.netflix.zuul.http.ZuulServlet;
1011
import org.springframework.beans.factory.annotation.Autowired;
12+
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
1113
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
1214
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
1315
import org.springframework.context.annotation.Bean;
1416
import org.springframework.context.annotation.Configuration;
1517

1618
@Configuration
19+
@ConditionalOnBean(GrayManager.class)
1720
@ConditionalOnClass(value = ZuulServlet.class)
1821
public class GrayZuulAutoConfiguration {
1922

spring-cloud-gray-client/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,11 @@
6363
<groupId>org.springframework.cloud</groupId>
6464
<artifactId>spring-cloud-stream</artifactId>
6565
</dependency>
66+
<dependency>
67+
<groupId>org.springframework.cloud</groupId>
68+
<artifactId>spring-cloud-commons</artifactId>
69+
<scope>compile</scope>
70+
</dependency>
6671

6772
</dependencies>
6873

spring-cloud-gray-client/src/main/java/cn/springcloud/gray/client/EnableGrayClient.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
package cn.springcloud.gray.client;
22

3-
import cn.springcloud.gray.client.config.GrayClientMarkerConfiguration;
3+
import cn.springcloud.gray.client.config.GrayClientImportSelector;
44
import org.springframework.context.annotation.Import;
55

66
import java.lang.annotation.*;
77

8-
@Retention(RetentionPolicy.RUNTIME)
98
@Target(ElementType.TYPE)
9+
@Retention(RetentionPolicy.RUNTIME)
1010
@Documented
11-
@Import(GrayClientMarkerConfiguration.class)
11+
@Inherited
12+
@Import(GrayClientImportSelector.class)
1213
public @interface EnableGrayClient {
1314

1415

spring-cloud-gray-client/src/main/java/cn/springcloud/gray/client/config/GrayClientAutoConfiguration.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
import cn.springcloud.gray.request.RequestLocalStorage;
1313
import cn.springcloud.gray.request.ThreadLocalRequestStorage;
1414
import org.springframework.beans.factory.annotation.Autowired;
15-
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
1615
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
1716
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
1817
import org.springframework.boot.context.properties.EnableConfigurationProperties;
@@ -25,7 +24,8 @@
2524

2625
@Configuration
2726
@EnableConfigurationProperties({GrayClientProperties.class, GrayRequestProperties.class})
28-
@ConditionalOnBean(GrayClientMarkerConfiguration.GrayClientMarker.class)
27+
//@ConditionalOnBean(GrayClientMarkerConfiguration.GrayClientMarker.class)
28+
@ConditionalOnProperty(value = "gray.enabled")
2929
@Import({GrayDecisionFactoryConfiguration.class, GrayTrackConfiguration.class})
3030
public class GrayClientAutoConfiguration {
3131

spring-cloud-gray-client/src/main/java/cn/springcloud/gray/client/config/GrayClientBeanPostProcessorConfiguration.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
package cn.springcloud.gray.client.config;
22

3+
import cn.springcloud.gray.GrayManager;
34
import cn.springcloud.gray.InstanceLocalInfo;
45
import cn.springcloud.gray.InstanceLocalInfoAware;
56
import org.springframework.beans.BeansException;
67
import org.springframework.beans.factory.config.BeanPostProcessor;
8+
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
79
import org.springframework.context.annotation.Bean;
810
import org.springframework.context.annotation.Configuration;
911

1012
@Configuration
13+
@ConditionalOnBean(GrayManager.class)
1114
public class GrayClientBeanPostProcessorConfiguration {
1215

1316

0 commit comments

Comments
 (0)