Spring Cloud Finchley.M5 发布

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

我谨代表团队和社区高兴地宣布,Spring Cloud Finchley 发布序列的里程碑版本 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,用于标识总线实例,而不是 ApplicationContext ID(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 Dependencies 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 社区的所有近期活动。

查看全部