领先一步
VMware提供培训和认证,以加速您的进步。
了解更多我谨代表社区宣布,Spring Cloud Finchley 发布列车里程碑 3 (M3) 今天已发布。此版本可以在 Spring 里程碑 存储库中找到。您可以查看 Finchley 的 发行说明以了解更多信息。
Finchley 发布列车中包含的许多项目的一个共同主题是添加对 WebFlux、WebClient、Micrometer 或 Spring 响应式主题中的其他集成的支持。
再次支持 WebFlux 和 Reactor。不包含 OAuth 支持。已删除spring-cloud-sleuth-zipkin-stream
模块。
引入了新的GatewayFilter
接口,以减少与 Spring Framework 中现有的WebFilter
的任何混淆。任何自定义实现现在都需要实现GatewayFilterFactory
而不是WebFilterFactory
。对于 Java DSL,还需要将对WebFilterFactories
的引用替换为GatewayFilterFactories
。
Java DSL 也略有更改。uri()
方法现在是终止运算符,而不是and()
。
以前是这样写的:
@Bean
public RouteLocator wsRouteLocator() {
return Routes.locator()
.route("testws")
.uri("ws://127.0.0.1:"+this.wsPort)
.predicate(alwaysTrue())
.and()
.build();
}
现在这样写:
@Bean
public RouteLocator wsRouteLocator() {
return Routes.locator()
.route("testws")
.predicate(alwaysTrue())
.uri("ws://127.0.0.1:"+this.wsPort)
.build();
}
可在 http://start.spring.io 上获得对网关的支持。
一些包被重构为模块,但这不应影响使用启动器的任何人。
现在通过/routes/details
而不是/routes?format=details
访问详细的/routes
执行器。
Eureka 已更新到 1.8.4 版本
添加了对使用 Spring RestDocs 进行 Rest Assured 测试的支持。
Bus 端点已从/bus/*
重新映射到/bus-*
。(这可能会根据社区的反馈再次更改)
旧的 | 新的 |
---|---|
/bus/env |
/bus-env |
/bus/refresh |
/bus-refresh |
Spring Cloud AWS 还不兼容 Finchley 发布列车。
下一个 Finchley 里程碑将包含一个新的 Task 里程碑。
添加了对 Vault 数据库后端的支持。
内部组件已升级以兼容 Spring Boot 2。欢迎提供关于RefreshScope
或@ConfigurationProperties
重新绑定的任何反馈。
许多不遵循 Spring Cloud 常规命名约定的启动器已在 Edgware 中重命名。下表列出了已删除的启动器及其替换项
已删除 | Finchley 启动器 |
---|---|
spring-cloud-starter-archaius | spring-cloud-starter-netflix-archaius |
spring-cloud-starter-atlas | spring-cloud-starter-netflix-atlas |
spring-cloud-starter-eureka | spring-cloud-starter-netflix-eureka-client |
spring-cloud-starter-eureka-server | spring-cloud-starter-netflix-eureka-server |
spring-cloud-starter-feign | spring-cloud-starter-openfeign |
spring-cloud-starter-hystrix | spring-cloud-starter-netflix-hystrix |
spring-cloud-starter-hystrix-dashboard | spring-cloud-starter-netflix-hystrix-dashboard |
spring-cloud-starter-ribbon | spring-cloud-starter-netflix-ribbon |
spring-cloud-starter-spectator | spring-cloud-starter-netflix-spectator |
spring-cloud-starter-turbine | spring-cloud-starter-netflix-turbine |
spring-cloud-starter-turbine-stream | spring-cloud-starter-netflix-turbine-stream |
spring-cloud-starter-zuul | spring-cloud-starter-netflix-zuul |
以下模块已作为 Finchley.M3 的一部分更新
模块 | 版本 |
---|---|
Spring Cloud 依赖项 | 2.0.0.M4 |
Spring Cloud Sleuth | 2.0.0.M3 |
Spring Cloud Gateway | 2.0.0.M3 |
Spring Cloud Config | 2.0.0.M3 |
Spring Cloud Cloudfoundry | 2.0.0.M1 |
Spring Cloud Build | 2.0.0.M4 |
Spring Cloud Consul | 2.0.0.M2 |
Spring Cloud Netflix | 2.0.0.M3 |
Spring Cloud Security | 2.0.0.M1 |
Spring Cloud Contract | 2.0.0.M3 |
Spring Cloud Bus | 2.0.0.M2 |
Spring Boot Starter | 2.0.0.M5 |
Spring Cloud Aws | 2.0.0.M1 |
Spring Boot 依赖项 | 2.0.0.M5 |
Spring Cloud Stream | Elmhurst.M2 |
Spring Cloud Task | 2.0.0.M1 |
Spring Cloud Vault | 2.0.0.M3 |
Spring Cloud Zookeeper | 2.0.0.M2 |
Spring Boot | 2.0.0.M5 |
Spring Cloud Commons | 2.0.0.M3 |
我们始终欢迎您通过GitHub、Gitter、Stack Overflow或Twitter提供反馈。
使用Maven和BOM(仅依赖管理)入门
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>http://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Finchley.M3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
...
</dependencies>
或使用Gradle
buildscript {
dependencies {
classpath "io.spring.gradle:dependency-management-plugin:1.0.3.RELEASE"
}
}
repositories {
maven {
url 'http://repo.spring.io/milestone'
}
}
apply plugin: "io.spring.dependency-management"
dependencyManagement {
imports {
mavenBom 'org.springframework.cloud:spring-cloud-dependencies:Finchley.M3'
}
}
dependencies {
compile 'org.springframework.cloud:spring-cloud-starter-config'
compile 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
...
}