Skip to content

Commit 17cdbd1

Browse files
authored
Merge pull request #51 from SpringCloud/A
A
2 parents 642b683 + 8aa884d commit 17cdbd1

File tree

68 files changed

+654
-163
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+654
-163
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33

44
[![License](https://img.shields.io/badge/license-Apache%202-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0.html)
5-
[![A Release](https://img.shields.io/badge/release-A.1.1.2-blue)](https://github.com/SpringCloud/spring-cloud-gray/releases/tag/A.1.1.2)
6-
[![B Release](https://img.shields.io/badge/release-B.0.0.2-blue)](https://github.com/SpringCloud/spring-cloud-gray/releases/tag/B.0.0.2)
7-
[![B Release](https://img.shields.io/badge/release-C.0.0.1-blue)](https://github.com/SpringCloud/spring-cloud-gray/releases/tag/C.0.0.1)
5+
[![A Release](https://img.shields.io/badge/release-A.1.1.3-blue)](https://github.com/SpringCloud/spring-cloud-gray/releases/tag/A.1.1.2)
6+
[![B Release](https://img.shields.io/badge/release-B.0.0.4-blue)](https://github.com/SpringCloud/spring-cloud-gray/releases/tag/B.0.0.2)
7+
[![B Release](https://img.shields.io/badge/release-C.0.0.3-blue)](https://github.com/SpringCloud/spring-cloud-gray/releases/tag/C.0.0.1)
88

99
## 介绍
1010
Spring Cloud Gray 是一套开源的微服务灰度路由解决方案,它由spring-cloud-gray-client,spring-cloud-gray-client-netflix 和 spring-cloud-tray-server,spring-cloud-gray-webui组成。<br/>

pom.xml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<groupId>cn.springcloud.gray</groupId>
1313
<artifactId>spring-cloud-gray</artifactId>
1414
<packaging>pom</packaging>
15-
<version>A.1.1.2</version>
15+
<version>A.1.1.3</version>
1616
<url>https://github.com/SpringCloud/spring-cloud-gray</url>
1717
<organization>
1818
<name>Spring Cloud中国社区</name>
@@ -393,6 +393,9 @@
393393
</goals>
394394
</execution>
395395
</executions>
396+
<configuration>
397+
<additionalparam>-Xdoclint:none</additionalparam>
398+
</configuration>
396399
</plugin>
397400
<!-- GPG -->
398401
<plugin>

spring-cloud-gray-client-netflix/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>spring-cloud-gray</artifactId>
77
<groupId>cn.springcloud.gray</groupId>
8-
<version>A.1.1.2</version>
8+
<version>A.1.1.3</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111

spring-cloud-gray-client/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>spring-cloud-gray</artifactId>
77
<groupId>cn.springcloud.gray</groupId>
8-
<version>A.1.1.2</version>
8+
<version>A.1.1.3</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
import java.util.Collection;
88
import java.util.List;
9+
import java.util.Map;
10+
import java.util.stream.Collectors;
911

1012

1113
/**
@@ -42,6 +44,16 @@ public interface GrayManager {
4244

4345
List<RequestInterceptor> getRequeestInterceptors(String interceptroType);
4446

47+
/**
48+
* 以serviceId -> grayInstances的形式返回所有灰度服务的实例信息
49+
*
50+
* @return
51+
*/
52+
default Map<String, Collection<GrayInstance>> getMapByAllGrayServices() {
53+
return allGrayServices().stream()
54+
.collect(Collectors.toMap(GrayService::getServiceId, GrayService::getGrayInstances));
55+
}
56+
4557
void setup();
4658

4759
void shutdown();

spring-cloud-gray-client/src/main/java/cn/springcloud/gray/routing/connectionpoint/RoutingConnectionPoint.java

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,37 @@
22

33

44
import java.io.IOException;
5+
import java.util.Objects;
6+
import java.util.function.Consumer;
57

68
public interface RoutingConnectionPoint {
79

810

9-
default <T> T execute(RoutingConnectPointContext connectPointContext, Supplier<T> supplier) throws IOException {
11+
default <T> T execute(RoutingConnectPointContext connectPointContext, Supplier<T> supplier) {
1012
try {
1113
executeConnectPoint(connectPointContext);
1214
return supplier.get();
1315
} catch (Exception e) {
1416
connectPointContext.setThrowable(e);
15-
throw e;
17+
throw new RuntimeException(e);
1618
} finally {
1719
shutdownconnectPoint(connectPointContext);
1820
}
1921
}
2022

23+
default <T> T execute(
24+
RoutingConnectPointContext connectPointContext,
25+
Supplier<T> supplier,
26+
Consumer<RoutingConnectPointContext> finalConsumer) {
27+
try {
28+
return execute(connectPointContext, supplier);
29+
} finally {
30+
if (!Objects.isNull(finalConsumer)) {
31+
finalConsumer.accept(connectPointContext);
32+
}
33+
}
34+
}
35+
2136

2237
void executeConnectPoint(RoutingConnectPointContext connectPointContext);
2338

spring-cloud-gray-core/pom.xml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>spring-cloud-gray</artifactId>
77
<groupId>cn.springcloud.gray</groupId>
8-
<version>A.1.1.2</version>
8+
<version>A.1.1.3</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111

@@ -16,7 +16,11 @@
1616
<groupId>org.projectlombok</groupId>
1717
<artifactId>lombok</artifactId>
1818
</dependency>
19-
19+
<dependency>
20+
<groupId>com.fasterxml.jackson.core</groupId>
21+
<artifactId>jackson-databind</artifactId>
22+
<optional>true</optional>
23+
</dependency>
2024
</dependencies>
2125

2226
<build>
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package cn.springcloud.gray.server.resources.domain;
1+
package cn.springcloud.gray.api;
22

33
import lombok.AllArgsConstructor;
44
import lombok.Builder;
@@ -15,7 +15,6 @@ public class ApiRes<T> {
1515
public static final String CODE_NOT_FOUND = "404";
1616

1717

18-
1918
private String code = "0";
2019
private String message;
2120
private T data;
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package cn.springcloud.gray.exceptions;
2+
3+
/**
4+
* @author saleson
5+
* @date 2019-11-25 21:53
6+
*/
7+
public class NotFoundException extends RuntimeException {
8+
9+
public NotFoundException() {
10+
}
11+
12+
public NotFoundException(String message) {
13+
super(message);
14+
}
15+
}

spring-cloud-gray-core/src/main/java/cn/springcloud/gray/model/GrayInstance.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package cn.springcloud.gray.model;
22

3+
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
34
import lombok.Getter;
45
import lombok.Setter;
56
import lombok.ToString;
@@ -15,6 +16,7 @@
1516
@ToString
1617
@Setter
1718
@Getter
19+
@JsonIgnoreProperties({"gray"})
1820
public class GrayInstance implements Serializable {
1921

2022
private static final long serialVersionUID = 1604426811546120884L;

0 commit comments

Comments
 (0)