领先一步
VMware 提供培训和认证,以加速您的进步。
了解更多我代表团队和社区,很高兴地宣布 Spring Cloud Finchley 发布列车的里程碑版本 5 (M5) 今天已发布。该版本可以在 Spring Milestone 存储库中找到。您可以查看 Finchley 的 发行说明以获取更多信息。
此更新包含与 Spring Boot 2.0.0.M7 兼容的更改。
通过 @Async
创建的跨度现在始终继续父跨度,而不是创建一个新的跨度。
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,后者需要在服务的每个实例中唯一。此更改应该向后兼容。
引入了一个新属性以禁用刷新范围:spring.cloud.refresh.enabled
。
模块 | 版本 |
---|---|
Spring Cloud 依赖项 | 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 |
与往常一样,我们欢迎您在 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'
...
}