Let's not forget about Spring Cloud Data Flow 1.6

Spring Framework 5.1 RC 1 arrives with JDK 11 support in tow

Jane Elizabeth
©  Shutterstock / Anatoliy Cherkas

It’s been nearly a year since Spring 5 blossomed. This week, Spring 5.1 RC 1 sprung, along with general availability for Spring Cloud Data Flow 1.6. We take a look at what’s in store for developers in both of these releases.

Last fall, Spring 5 arrived, chock full of interesting features like support for JDK 9 and the Java EE 8 API level as well as comprehensive integration with Reactor 3.1, JUnit 5, and the Kotlin language. Plus, it introduced a dedicated reactive web framework called Spring WebFlux.

Not content to rest on their laurels, their development team has been busy in the intervening months. From Spring Boot 2 to Spring Data Kay, they’ve been hard at work improving the entire ecosystem for developers.

This week, Spring has put out not one but two different releases! Spring 5.1 RC 1 is here, giving developers a sneak peek at what’s in store for this useful framework. Additionally, Spring Cloud Data Flow 1.6 is here to help with data integration and processing pipelines. Let’s take a closer look at each!

SEE ALSO: Spring Boot 2 – An introduction: Current dependencies & the basis Spring 5

Spring Framework 5.1 RC 1

Spring 5.1 now requires JDK 8 or higher; it specifically supports JDK 11 as its next long-term support release. If you’ve been putting off upgrading your JDK version, now’s the time. In fact, the framework “strongly recommends” that developers upgrade their Spring versions to the 5.1 release if they are developing for JDK 11, as it will give them a warning-free experience for the classpaths and module paths.

Other infrastructure upgrades include increased support for Graal native image constraints like reflection and parameter names. The 5.1 release offers performance improvements for core type and annotation resolution. It also provides a consistent detection of method annotations on generic interfaces. Overall, Spring is now based off of Reactor Californium.

There have been a few logging changes: common logging now detects Spring’s JCL bridge. They’ve also cleaned up the logging experience, making them more readable with details at the trace level for an easier bug fixing experience.

Following Spring 5’s functional bean theme, Spring 5.1 has refined the Kotlin beans DSL and increased support for logical and/or expressions in @Profile conditions. Improvements to the BeanFactory API have made bean retrieval easier with consistent non-exposure of null beans and programmatic ObjectProvider retrieval.

Currently, RC2 is planned for August, with a general release for 5.1 in September.

Information about the new features in Spring 5.1 RC 1 is available here, including changes to Spring Web MVC, Spring WebFlux, and more.

SEE ALSO: Spring Framework 5.0 is here

Spring Cloud Data Flow 1.6

This release is aimed at Spring’s toolkit for building data integration and real-time data processing pipelines. Spring Cloud Data Flow is aimed at any pipelines built with Spring Boot, or the Spring Cloud frameworks. This release has a lot to offer for developers interested in all kinds of data processing use cases.

The 1.6 release for Spring Cloud Data Flow introduces native integration for the PCF Scheduler in the SCDF for Cloud Foundry implementation. Now, developers can schedule the execution for Diego tasks like database migrations, emails, batch jobs, as well as execute outbound HTTP calls. This reduces the workload for developers by giving them the ability to schedule and unscheduled task definitions.

Dashboard improvements have also improved convenience and UI experience. Stream deployment history is now available from the dashboard. Tabs for Task/Jobs and About have been redesigned. Overall, the feel and look of the whole dashboard have been modernized and improved.

This release also offers a few upgrades for Kubernetes deployments, specifically improved support for deploying Boot Apps with secured actuators. This ensures that the liveness and readiness probe are resolved at runtime. Developer can also pass a custom Service Account Name for each stream/task employment.

Other improvements include:

  • The creation of an App Hosting Tool for developers that can’t use Maven.
  • Increased security between Composed Task Runner and the Data Flow Server.
  • DSL and deployment property parsing refinements, including accepting key-value pairs as values.
  • Optimization for Batch Database Schema, especially large numbers of Task executions for MySQL and PostgreSQL.

The 1.7 release is already under construction. Community input is always welcome, although they are pretty sure the next release will focus on supporting the Spring Cloud Function programming model. More information about this can be found here.

Jane Elizabeth
Jane Elizabeth is an assistant editor for

Inline Feedbacks
View all comments