Get ahead
VMware offers training and certification to turbo-charge your progress.
Learn moreOn behalf of the team and community, I am pleased to announce that the Milestone 5 (M5) of the Spring Cloud Finchley Release Train is available today. The release can be found in Spring Milestone repository. You can check out the Finchley release notes for more information.
This update contains changes for compatibility with Spring Boot 2.0.0.M7.
The spans created via the @Async
are now always continuing a parent span instead of creating a new one.
The Java fluent API has been updated to provided a better developer experience. All predicates and filters are now discoverable via your IDE's code completion, rather than via static imports. A RouteLocatorBuilder
is now available to be injected and is the main entry point for the DSL. IDs are no longer required (a random one will be generated, if not supplied);
@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")
)
}
The Kotlin DSL has also been updated in a similar fashion.
@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")
}
}
Upgrade to latest Eureka.
A new spring.cloud.bus.id
has been introduced to address bus instances rather than the ApplicationContext ID, which needs to be unique per instance of a service. This change should be backwards compatible.
A new property has been introduced to disable refresh scope: spring.cloud.refresh.enabled
.
Module | Version |
---|---|
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 |
As always, we welcome feedback on GitHub, on Gitter, on Stack Overflow, or on Twitter.
To get started with Maven with a BOM (dependency management only):
<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>
or with 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'
...
}