Skip to content

Commit 465516b

Browse files
committed
修改gray manager 启动方式
1 parent a2a091f commit 465516b

File tree

9 files changed

+35
-15
lines changed

9 files changed

+35
-15
lines changed

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
@@ -9,13 +9,15 @@
99
import feign.hystrix.HystrixFeign;
1010
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
1111
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
12+
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
1213
import org.springframework.context.annotation.Bean;
1314
import org.springframework.context.annotation.Configuration;
1415
import org.springframework.context.annotation.Import;
1516

1617
@Configuration
1718
@ConditionalOnBean(GrayManager.class)
1819
@ConditionalOnClass({HystrixCommand.class, HystrixFeign.class})
20+
@ConditionalOnProperty(value = "gray.hystrix.enabled")
1921
@Import(HystrixGrayTrackWebConfiguration.class)
2022
public class HystrixGrayAutoConfiguration {
2123

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

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

33
import cn.springcloud.gray.GrayManager;
4-
import cn.springcloud.gray.client.netflix.configuration.HystrixGrayAutoConfiguration;
54
import cn.springcloud.gray.client.netflix.feign.GrayTrackFeignRequestInterceptor;
65
import cn.springcloud.gray.request.RequestLocalStorage;
76
import com.netflix.loadbalancer.ILoadBalancer;
@@ -41,10 +40,4 @@ public GrayTrackFeignRequestInterceptor grayTrackFeignRequestInterceptor(Request
4140
}
4241

4342

44-
@Configuration
45-
@ConditionalOnProperty(value = "feign.hystrix.enabled")
46-
public static class HystrixConfiguration extends HystrixGrayAutoConfiguration {
47-
48-
}
49-
5043
}

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

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import cn.springcloud.gray.GrayManager;
44
import cn.springcloud.gray.client.config.properties.GrayRequestProperties;
5-
import cn.springcloud.gray.client.netflix.configuration.HystrixGrayAutoConfiguration;
65
import cn.springcloud.gray.client.netflix.connectionpoint.RibbonConnectionPoint;
76
import cn.springcloud.gray.client.netflix.zuul.GrayPostZuulFilter;
87
import cn.springcloud.gray.client.netflix.zuul.GrayPreZuulFilter;
@@ -48,11 +47,4 @@ public ZuulRequestInterceptor zuulRequestInterceptor() {
4847

4948
}
5049

51-
52-
@Configuration
53-
@ConditionalOnProperty(value = "zuul.ribbonIsolationStrategy", havingValue = "THREAD")
54-
public static class HystrixConfiguration extends HystrixGrayAutoConfiguration {
55-
56-
}
57-
5850
}

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,21 @@ public DefaultGrayManager(
2727
InformationClient informationClient) {
2828
super(grayClientConfig, grayDecisionFactoryKeeper, informationClient);
2929
this.grayLoadProperties = grayLoadProperties;
30+
// openForWork();
31+
}
32+
33+
@Override
34+
public void setup() {
35+
super.setup();
3036
openForWork();
3137
}
3238

39+
@Override
40+
public void shutdown() {
41+
super.shutdown();
42+
updateTimer.cancel();
43+
}
44+
3345
public void openForWork() {
3446
log.info("拉取灰度列表");
3547
if (getGrayInformationClient() != null) {

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,5 +54,6 @@ private void initGrayManagerRequestInterceptors() {
5454
if (grayManager instanceof AbstractGrayManager) {
5555
((AbstractGrayManager) grayManager).setRequestInterceptors(requestInterceptors.values());
5656
}
57+
grayManager.setup();
5758
}
5859
}

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,5 +42,7 @@ public interface GrayManager {
4242

4343
List<RequestInterceptor> getRequeestInterceptors(String interceptroType);
4444

45+
void setup();
46+
4547
void shutdown();
4648
}

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,9 +100,16 @@ public void closeGray(String serviceId, String instanceId) {
100100
}
101101
}
102102

103+
@Override
104+
public void setup() {
105+
106+
}
107+
103108

104109
@Override
105110
public void shutdown() {
106111

107112
}
113+
114+
108115
}

spring-cloud-gray-server/pom.xml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,18 +56,22 @@
5656
<dependency>
5757
<groupId>io.springfox</groupId>
5858
<artifactId>springfox-swagger2</artifactId>
59+
<optional>true</optional>
5960
</dependency>
6061
<dependency>
6162
<groupId>io.springfox</groupId>
6263
<artifactId>springfox-swagger-ui</artifactId>
64+
<optional>true</optional>
6365
</dependency>
6466
<dependency>
6567
<groupId>io.springfox</groupId>
6668
<artifactId>springfox-spring-web</artifactId>
69+
<optional>true</optional>
6770
</dependency>
6871
<dependency>
6972
<groupId>io.springfox</groupId>
7073
<artifactId>springfox-bean-validators</artifactId>
74+
<optional>true</optional>
7175
</dependency>
7276
<!-- <dependency>-->
7377
<!-- <groupId>org.springframework.boot</groupId>-->
@@ -82,6 +86,7 @@
8286
<artifactId>geronimo-jta_1.1_spec</artifactId>
8387
</exclusion>
8488
</exclusions>
89+
<optional>true</optional>
8590
</dependency>
8691
<dependency>
8792
<groupId>javax.transaction</groupId>
@@ -90,23 +95,28 @@
9095
<dependency>
9196
<groupId>org.springframework.data</groupId>
9297
<artifactId>spring-data-jpa</artifactId>
98+
<optional>true</optional>
9399
</dependency>
94100
<dependency>
95101
<groupId>mysql</groupId>
96102
<artifactId>mysql-connector-java</artifactId>
103+
<optional>true</optional>
97104
</dependency>
98105
<dependency>
99106
<groupId>org.mapstruct</groupId>
100107
<artifactId>mapstruct-jdk8</artifactId>
108+
<optional>true</optional>
101109
</dependency>
102110

103111
<dependency>
104112
<groupId>org.springframework.cloud</groupId>
105113
<artifactId>spring-cloud-stream</artifactId>
114+
<optional>true</optional>
106115
</dependency>
107116
<dependency>
108117
<groupId>javax.interceptor</groupId>
109118
<artifactId>javax.interceptor-api</artifactId>
119+
<optional>true</optional>
110120
</dependency>
111121

112122
</dependencies>

spring-cloud-starter-gray-client/src/main/resources/META-INF/spring.factories

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
55
cn.springcloud.gray.client.config.GrayClientAutoConfiguration,\
66
cn.springcloud.gray.client.config.GrayClientWebConfiguration,\
77
cn.springcloud.gray.client.netflix.configuration.GrayClientEurekaAutoConfiguration,\
8+
cn.springcloud.gray.client.netflix.configuration.HystrixGrayAutoConfiguration,\
89
cn.springcloud.gray.client.netflix.configuration.NetflixRibbonGrayAutoConfiguration,\
910
cn.springcloud.gray.client.netflix.resttemplate.configuration.GrayRestTemplateAutoConfiguration,\
1011
cn.springcloud.gray.client.netflix.zuul.configuration.GrayZuulAutoConfiguration,\

0 commit comments

Comments
 (0)