Spring Cloud Finchley.M5 已发布

发布 | Spencer Gibb | 2017年12月05日 | ...

我谨代表团队和社区,很高兴地宣布 Spring Cloud Finchley Release Train 的 Milestone 5 (M5) 已于今日发布。您可以在 Spring Milestone 仓库中找到该版本。您可以通过 Finchley 发布说明 获取更多信息。

Finchley发布火车中的显著变化

此更新包含与 Spring Boot 2.0.0.M7 兼容性的改动。

Spring Cloud Sleuth

通过 @Async 创建的 span 现在总是会继续父 span,而不是创建新的 span。

Spring Cloud Gateway

Java 流式 API 已更新,以提供更好的开发者体验。现在可以通过 IDE 的代码补全来发现所有谓词和过滤器,而不是通过静态导入。现在可以注入 RouteLocatorBuilder,它是 DSL 的主要入口点。ID 不再是必需的(如果未提供,将生成一个随机 ID);

@Bean
public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {
  return builder.routes()
      .route(r -> r.host("**.abc.org").and().path("/image/png")
          .addResponseHeader("X-TestHeader", "foobar")
          .uri("http://httpbin.org:80")
      )
      .route("webp", r -> r.path("/image/webp")
        .addResponseHeader("X-AnotherHeader", "baz")
        .uri("http://httpbin.org:80")
      )
}

Kotlin DSL 也以类似的方式进行了更新。

@Bean
fun additionalRouteLocator(builder: RouteLocatorBuilder): RouteLocator = builder.routes {
  route() {
    host("kotlin.abc.org") and path("/image/png")
    filters {
      addResponseHeader("X-TestHeader", "foobar")
    }
    uri("http://httpbin.org:80")
  }
}

Spring Cloud Netflix

升级到最新的 Eureka。

Spring Cloud Bus

引入了一个新的 spring.cloud.bus.id 来处理 bus 实例,而不是 ApplicationContext ID,后者需要是服务实例的唯一标识。此更改应向后兼容。

Spring Cloud Commons

引入了一个新属性来禁用刷新范围:spring.cloud.refresh.enabled

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

模块 版本
Spring Cloud Dependencies 2.0.0.M6
Spring Cloud Consul 2.0.0.M4
Spring Cloud Sleuth 2.0.0.M5
Spring Cloud Gateway 2.0.0.M5
Spring Cloud Zookeeper 2.0.0.M4
Spring Cloud Cloudfoundry 2.0.0.M2
Spring Cloud Netflix 2.0.0.M5
Spring Cloud Contract 2.0.0.M5
Spring Cloud Security 2.0.0.M1
Spring Cloud Task 2.0.0.M2
Spring Boot 依赖项 2.0.0.M7
Spring Cloud Stream Elmhurst.M3
Spring Cloud Bus 2.0.0.M4
Spring Cloud Aws 2.0.0.M2
Spring Cloud Config 2.0.0.M5
Spring Boot Starter 2.0.0.M7
Spring Cloud Build 2.0.0.M6
Spring Cloud Vault 2.0.0.M4
Spring Cloud Commons 2.0.0.M5
Spring Boot 2.0.0.M7

反馈

一如既往,我们欢迎在 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.M5</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.2.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.M5'
    }
}

dependencies {
    compile 'org.springframework.cloud:spring-cloud-starter-config'
    compile 'org.springframework.cloud:spring-cloud-starter-eureka'
    ...
}

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看所有