领先一步
VMware 提供培训和认证,助您加速进步。
了解更多我谨代表团队和社区高兴地宣布,Spring Cloud Finchley 发布序列的里程碑版本 5 (M5) 于今日发布。您可以在 Spring Milestone 仓库中找到该版本。您可以查看 Finchley 的发布说明以获取更多信息。
本次更新包含与 Spring Boot 2.0.0.M7 兼容的变更。
通过 @Async
创建的 Span 现在始终继续一个父 Span,而不是创建一个新的 Span。
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")
}
}
升级到最新的 Eureka。
引入了一个新的 spring.cloud.bus.id
,用于标识总线实例,而不是 ApplicationContext ID(ApplicationContext ID 需要在每个服务实例中唯一)。此更改应向后兼容。
引入了一个新属性来禁用刷新范围:spring.cloud.refresh.enabled
。
模块 | 版本 |
---|---|
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 |
一如既往,欢迎通过 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.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'
...
}