Spring Cloud Finchley.M3 发布

发布 | Spencer Gibb | 2017 年 10 月 31 日 | ...

我代表社区,很高兴宣布 Spring Cloud Finchley 发布列车的里程碑 3 (M3) 今天可用。此版本可以在 Spring Milestone 仓库中找到。您可以查阅 Finchley 的 发布说明获取更多信息

Finchley 发布列车的显著变化

Finchley 发布列车中包含的许多项目的一个共同主题是,在 Spring Reactive 主题下添加对 WebFlux、WebClient、Micrometer 或其他集成的支持。

Spring Cloud Sleuth

WebFlux 和 Reactor 再次获得支持。OAuth 支持不包含在内。spring-cloud-sleuth-zipkin-stream 模块已被移除。

Spring Cloud Gateway

引入了一个新的 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://localhost:"+this.wsPort)
                .predicate(alwaysTrue())
                .and()
            .build();
}

现在写法如下

@Bean
public RouteLocator wsRouteLocator() {
    return Routes.locator()
            .route("testws")
                .predicate(alwaysTrue())
                .uri("ws://localhost:"+this.wsPort)
            .build();
}

可以在 http://start.spring.io 获取网关支持。

Spring Cloud Netflix

一些包被重构为模块,但这不应影响任何使用 starter 的人。

详细的 /routes 执行器现在通过 /routes/details 访问,而不是 /routes?format=details

Eureka 已更新到版本 1.8.4

Spring Cloud Contract

添加了对使用 Spring RestDocs 进行 Rest Assured 测试的支持。

Spring Cloud Bus

Bus 端点已从 /bus/* 重新映射到 /bus-*。(这可能会根据社区反馈再次更改)

/bus/env /bus-env
/bus/refresh /bus-refresh

Spring Cloud Aws

Spring Cloud AWS 尚未与 Finchley 发布列车兼容。

Spring Cloud Task

一个新的 Task 里程碑将包含在下一个 Finchley 里程碑中。

Spring Cloud Vault

添加了对 Vault 数据库后端支持。

Spring Cloud Commons

内部已升级以与 Spring Boot 2 兼容。欢迎就 RefreshScope@ConfigurationProperties 重新绑定提供任何反馈。

已移除的废弃 starter

许多不遵循正常 Spring Cloud 命名约定的 starter 已在 Edgware 中重命名。以下是已移除 starter 及其替代品的表格

已移除 Finchley Starter
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

已移除的废弃 starter

作为 Finchley.M3 的一部分,以下模块已更新

模块 版本
Spring Cloud Dependencies 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 Dependencies 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

反馈

一如既往,欢迎在 GitHubGitterStack OverflowTwitter 上提供反馈。

入门

使用 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'
    ...
}

订阅 Spring 电子报

订阅 Spring 电子报,保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速前行。

了解更多

获取支持

Tanzu Spring 通过一个简单的订阅提供对 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

近期活动

查看 Spring 社区的所有近期活动。

查看全部