Skip to content

Commit 9d6e8d4

Browse files
committed
优化代码
修复bug
1 parent 5accfe3 commit 9d6e8d4

File tree

6 files changed

+54
-37
lines changed

6 files changed

+54
-37
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
public class GrayTrackConfiguration {
2828

2929

30-
@Bean(initMethod = "openForWork")
30+
@Bean(initMethod = "setup")
3131
@ConditionalOnMissingBean
3232
public GrayTrackHolder grayTrackHolder(
3333
GrayTrackProperties grayTrackProperties,

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ public class GrayTrackProperties {
1818
private Web web = new Web();
1919

2020
private int definitionsUpdateIntervalTimerInMs = 60000;
21+
/**
22+
* 实始追踪信息的延迟时间
23+
*/
24+
private int definitionsInitializeDelayTimeInMs = 40000;
2125

2226
@Setter
2327
@Getter

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

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,11 @@
22

33
import lombok.Getter;
44
import lombok.Setter;
5-
import org.springframework.http.HttpHeaders;
6-
import org.springframework.http.HttpMethod;
5+
import org.apache.commons.collections.MapUtils;
6+
import org.springframework.util.CollectionUtils;
77
import org.springframework.util.LinkedMultiValueMap;
88

9-
import java.util.ArrayList;
109
import java.util.Collection;
11-
import java.util.List;
1210
import java.util.Map;
1311

1412
@Getter
@@ -22,6 +20,9 @@ public class GrayHttpRequest extends GrayRequest {
2220

2321

2422
public void addHeaders(Map<String, ? extends Collection<String>> headers) {
23+
if (MapUtils.isEmpty(headers)) {
24+
return;
25+
}
2526
headers.forEach((k, v) -> {
2627
Map<String, Collection<String>> headerMap = (Map<String, Collection<String>>) this.headers;
2728
headerMap.put(k, v);
@@ -30,6 +31,9 @@ public void addHeaders(Map<String, ? extends Collection<String>> headers) {
3031

3132

3233
public void addParameters(Map<String, ? extends Collection<String>> parameters) {
34+
if (CollectionUtils.isEmpty(parameters)) {
35+
return;
36+
}
3337
parameters.forEach((k, v) -> {
3438
Map<String, Collection<String>> parameterMap = (Map<String, Collection<String>>) this.parameters;
3539
parameterMap.put(k, v);

spring-cloud-gray-client/src/main/java/cn/springcloud/gray/request/track/DefaultGrayTrackHolder.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,15 @@ public DefaultGrayTrackHolder(
3838
// openForWork();
3939
}
4040

41+
public void setup() {
42+
updateTimer.schedule(new TimerTask() {
43+
@Override
44+
public void run() {
45+
openForWork();
46+
}
47+
}, grayTrackProperties.getDefinitionsInitializeDelayTimeInMs());
48+
}
49+
4150

4251
public void openForWork() {
4352
log.info("拉取灰度追踪列表");

spring-cloud-gray-samples/spring-cloud-gray-service-b-sample/pom.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,10 @@
4545
<artifactId>spring-cloud-starter-gray-client</artifactId>
4646
</dependency>
4747

48-
<!-- <dependency>-->
49-
<!-- <groupId>org.springframework.cloud</groupId>-->
50-
<!-- <artifactId>spring-cloud-starter-stream-rabbit</artifactId>-->
51-
<!-- </dependency>-->
48+
<dependency>
49+
<groupId>org.springframework.cloud</groupId>
50+
<artifactId>spring-cloud-starter-stream-rabbit</artifactId>
51+
</dependency>
5252
</dependencies>
5353

5454
<build>

spring-cloud-gray-samples/spring-cloud-gray-service-b-sample/src/main/resources/config/application.yml

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,31 @@
11
spring:
22
application:
33
name: service-b
4-
# rabbitmq:
5-
# addresses: 127.0.0.1:5672
6-
# username: admin
7-
# password: admin
8-
# cloud:
9-
# stream:
10-
# bindings:
11-
# GrayEventInput:
12-
# group: service-a
13-
# destination: gray_event
14-
# consumer:
15-
# concurrency: 1 #并发数
16-
# # max-attempts: 1
17-
# # GrayEventOutput:
18-
# # destination: gray-event
19-
# rabbit:
20-
# bindings:
21-
# GrayEventInput:
22-
# consumer:
23-
# maxConcurrency: 1 #并发数
24-
# # prefetch: 1 #从mq一次获取消息的数量
25-
# # requeueRejected: true #spring cloud stream 如果出现异常, 是否需要重新投递消息, false表示丢弃。 也有相应的Exception, true-MessageRejectedWhileStoppingException false-AmqpRejectAndDontRequeueException
26-
# # auto-bind-dlq: true
27-
# acknowledgeMode: AUTO
28-
## acknowledgeMode: MANUAL
4+
rabbitmq:
5+
addresses: 127.0.0.1:5672
6+
username: admin
7+
password: admin
8+
cloud:
9+
stream:
10+
bindings:
11+
GrayEventInput:
12+
group: service-a
13+
destination: gray_event
14+
consumer:
15+
concurrency: 1 #并发数
16+
# max-attempts: 1
17+
# GrayEventOutput:
18+
# destination: gray-event
19+
rabbit:
20+
bindings:
21+
GrayEventInput:
22+
consumer:
23+
maxConcurrency: 1 #并发数
24+
# prefetch: 1 #从mq一次获取消息的数量
25+
# requeueRejected: true #spring cloud stream 如果出现异常, 是否需要重新投递消息, false表示丢弃。 也有相应的Exception, true-MessageRejectedWhileStoppingException false-AmqpRejectAndDontRequeueException
26+
# auto-bind-dlq: true
27+
acknowledgeMode: AUTO
28+
# acknowledgeMode: MANUAL
2929
server:
3030
port: 20102
3131
eureka:
@@ -49,17 +49,17 @@ hystrix:
4949

5050

5151
gray:
52-
enabled: false
52+
enabled: true
5353
hystrix:
5454
enabled: true
5555
server:
56-
# url: http://localhost:20202
56+
url: http://localhost:20202
5757
loadbalanced: false
5858
retryable: true
5959
retryNumberOfRetries: 3
6060
client:
6161
runenv: web
62-
serviceUpdateIntervalTimerInMs: 0
62+
serviceUpdateIntervalTimerInMs: 30000
6363
instance:
6464
grayEnroll: false
6565
grayEnrollDealyTimeInMs: 40000

0 commit comments

Comments
 (0)