Spring Cloud 2020.0.0-RC1(又名Ilford)已发布

发布 | Ryan Baxter | 2020年12月15日 | ...

我代表社区很高兴地宣布,Spring Cloud 2020 版本列车的候选版本 1 (RC1) 今天已发布。您可以在 Spring Milestone 仓库中找到该版本。请参阅 2020 发行说明了解更多信息

2020 版本列车中的显著更改

此版本需要 Spring Boot 2.4.0。

请参阅 wiki 以查看此版本列车中所有重大更改的列表。

Github 项目 中查看所有包含的问题和拉取请求。

Spring Cloud Contract

Gradle 插件 在执行任务时创建单独的类路径

Spring Cloud Kubernetes

Spring Cloud Commons

  • LoadBalancer - 您现在可以使用自定义健康验证函数和基于 RestTemplate 的机制与HealthcheckServiceInstanceListSupplierPR
  • LoadBalancerProperties 已被重新打包
  • 已添加对LoadBalancer选择相同实例(如果可用)的支持(PR
  • 已添加对LoadBalancer根据cookie选择指定实例(如果可用)的支持(PR

Spring Cloud Function

Spring Cloud Function 引入了两个新特性:对 RSocketCloud Events 的支持。在我们更新包含这些特性的文档的过程中,您可以现在查看示例和集成测试用例以获取更多信息。对于 Cloud Events 支持,您可以查看 Cloud Events 示例 以及最近发布的 博客文章。对于 RSocket 支持,您可以查看 一些测试用例,这些用例演示了如何通过 RSocket 调用函数。

Spring Cloud Sleuth

将 OpenTelemetry 支持移至孵化器

随着 OpenTelemetry 的不断发展,我们已决定将 OpenTelemetry 支持从 Spring Cloud Sleuth 移至 孵化器项目。要继续在 Spring Cloud Sleuth 中使用 OpenTelemetry,您需要添加 Spring 仓库、spring-cloud-sleuth-otel-dependencies BOM 和spring-cloud-sleuth-otel-autoconfigure 依赖项。

我们发布了与2020.0.0-RC1 版本列车兼容的 Spring Cloud Sleuth OTel 的1.0.0-M1 版本。以下列表显示了如何在 Maven 和 Gradle 中使用它

Maven

 <properties>
   <spring-cloud-sleuth-otel.version>1.0.0-M1</spring-cloud-sleuth-otel.version>
   <spring-cloud.version>2020.0.0-RC1</spring-cloud.version>
 </properties>

 <dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>${spring-cloud.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-sleuth-otel-dependencies</artifactId>
				<!-- Provide the version of the Spring Cloud Sleuth OpenTelemetry project -->
				<version>${spring-cloud-sleuth-otel.version}</version>
				<scope>import</scope>
				<type>pom</type>
			</dependency>
		</dependencies>
	</dependencyManagement>

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-sleuth</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-sleuth-brave</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-sleuth-otel-autoconfigure</artifactId>
    </dependency>

		<repositories>
			<repository>
				<id>spring-snapshots</id>
				<url>https://repo.spring.io/snapshot</url>
				<snapshots><enabled>true</enabled></snapshots>
			</repository>
			<repository>
				<id>spring-milestones</id>
				<url>https://repo.spring.io/milestone</url>
			</repository>
		</repositories>
		<pluginRepositories>
			<pluginRepository>
				<id>spring-snapshots</id>
				<url>https://repo.spring.io/snapshot</url>
			</pluginRepository>
			<pluginRepository>
				<id>spring-milestones</id>
				<url>https://repo.spring.io/milestone</url>
			</pluginRepository>
		</pluginRepositories>

Gradle

ext {
  springCloudSleuthOtelVersion = "1.0.0-M1"
  springCloudVersion = "2020.0.0-RC1"
}

dependencyManagement {
    imports {
        mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
        mavenBom "org.springframework.cloud:spring-cloud-sleuth-otel-dependencies:${springCloudSleuthOtelVersion}"
    }
}

dependencies {
    implementation("org.springframework.cloud:spring-cloud-starter-sleuth") {
        exclude group: 'org.springframework.cloud', module: 'spring-cloud-sleuth-brave'
    }
    implementation "org.springframework.cloud:spring-cloud-sleuth-otel-autoconfigure"
}

repositories {
    mavenCentral()
    maven {
            url "https://repo.spring.io/snapshot"
    }
    maven {
            url "https://repo.spring.io/milestone"
    }
    maven {
            url "https://repo.spring.io/release"
    }
}

Spring Cloud Task

Spring Cloud Gateway

  • 已添加 LoadBalancer 生命周期支持(PR

以下是作为 2020.0.0-RC1 更新的模块

| 模块 | 版本 | 问题 |--- |--- |--- |--- | Spring Cloud Circuitbreaker | 2.0.0-RC1 | (问题) | Spring Cloud Contract | 3.0.0-RC1 | (问题) | Spring Cloud Kubernetes | 2.0.0-RC1 | (问题) | Spring Cloud Commons | 3.0.0-RC1 |
| Spring Cloud Openfeign | 3.0.0-RC1 |
| Spring Cloud Cloudfoundry | 3.0.0-RC1 |
| Spring Cloud Security | 3.0.0-RC1 |
| Spring Cloud Bus | 3.0.0-RC1 |
| Spring Cloud CLI | 3.0.0-RC1 |
| Spring Cloud Zookeeper | 3.0.0-RC1 | (问题) | Spring Cloud Sleuth | 3.0.0-RC1 | (问题) | Spring Cloud Consul | 3.0.0-RC1 |
| Spring Cloud Gateway | 3.0.0-RC1 |
| Spring Cloud Netflix | 3.0.0-RC1 | (问题) | Spring Cloud Vault | 3.0.0-RC1 | (问题) | Spring Cloud Config | 3.0.0-RC1 | (问题) | Spring Cloud Task | 2.3.0-RC1 | (问题)

我们一如既往地欢迎您在GitHubGitterStack OverflowTwitter上提供反馈。

以下列表显示了如何使用带有BOM(仅依赖项管理)的Maven或Gradle入门

使用BOM的Maven


    <repositories>
        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://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>2020.0.0-RC1</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 'https://repo.spring.io/milestone'
}
}

apply plugin: "io.spring.dependency-management"

dependencyManagement {
imports {
mavenBom 'org.springframework.cloud:spring-cloud-dependencies:2020.0.0-RC1'
}
}

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社区中所有即将举行的活动。

查看全部