Spring Team
Gunnar Hillert

Gunnar Hillert

Committer for Spring Cloud Data Flow

Holualoa, HI

As a Staff Engineer for Pivotal, Gunnar is a committer for Spring Cloud Data Flow and has also contributed to Spring Integration and Cloud Foundry. For 6 years Gunnar was president of the Atlanta Java Users Group (AJUG) and co-founded the DevNexus developer conference in Atlanta. This community-organized conference attracted 2000 attendees in 2017 and has grown to be the second largest Enterprise Java focussed conference in North-America. Over the years, Gunnar has presented numerous times at user groups and conferences, such as SpringOne. In March 2016, Gunnar was honored as Java Champion by Oracle. A native of Berlin, Germany, Gunnar has been calling Atlanta (USA) home for the past 14 years and just recently moved to Hawai‘i. Having a deep affinity for Latin American culture, he enjoys the adventure of raising his children tri-lingually (English, German, Spanish). Read his blog at http://www.hillert.com and follow him on Twitter @ghillert.
Blog Posts by Gunnar Hillert

Spring Cloud Data Flow 1.4.0 Released

The Spring Cloud Data Flow team is pleased to announce the final 1.4.0 GA release. Follow the Getting Started guides for Local Server, Cloud Foundry, and Kubernetes.

This release packs in quite a few improvements including:

  • Dashboard improvements

  • Ability to manage app versions (in Skipper mode)

  • New stream deployment builder (in Skipper mode)

  • Docker compose for development

  • Security improvements

  • Proxy server support for the Shell

  • LDAP Role Mapping support

  • Documentation improvements

Dashboard Improvements

A substantial focus of the 1.4.0 release has been the Dashboard UI and its integration with Spring Cloud Skipper.

Manage App Versions

With the Skipper mode enabled, you can now manage the versions of App Registrations and set a default version.

Manage Versions

The version information is now shown on the App Registration list page as well. Besides providing better visual hues regarding the Application Types (Source, Sink, Task, Processor), you can now also search for App Registrations by Application Type.

Manage Versions

Additionally, when browsing the App Registration details, you can easily select the version for which you would like to see the details.

Application Details

When deploying streams, you now have the ability to deploy them to multiple platforms.

Deploy Streams to Platform

New Stream Deployment Builder

In Skipper mode, we have added a brand new stream deployment builder form to simplify the selection of the targeted platform and the properties while deploying a stream. The options include overrides to the deployment platform and the deployer, application and global properties for the streaming pipeline.

Deployment Properties
Read more...

Spring Cloud Data Flow 1.4 RC1 released

The Spring Cloud Data Flow team is pleased to announce the release of 1.4.0 RC1. Follow the Getting Started guides for Local Server, Cloud Foundry, and Kubernetes.

Following are the release highlights:

Stream Deployment UX

In Skipper mode, we have added a brand new stream deployment builder form to simplify the selection of platform and the properties while deploying a stream. The options include override to the deployment platform and the deployer, application and global properties for the streaming pipeline.

Deployment Properties
Read more...

Spring Cloud Data Flow 1.4.0 M1 released

The Spring Cloud Data Flow team is excited to announce the release of 1.4.0 M1. Follow the Getting Started guides for Local Server, Cloud Foundry, and Kubernetes.

A big focus of this first milestone release of the 1.4.x line has been the Dashboard UI. In an effort to keep our UI dependencies current at all times, we finally upgraded the UI to Angular 5.2 and Angular CLI 1.6. Furthermore, the UI now provides better integration with Spring Cloud Skipper.

As such, you can now manage the versions of App Registrations and set a default version.

Read more...

Spring Cloud Data Flow 1.3 GA released

On behalf of the team, I am pleased to announce the general availability of Spring Cloud Data Flow 1.3 across a range of platforms

Follow the Getting Started guides for Local Server, Cloud Foundry, and Kubernetes

Release Highlights

Stream updates and rollback

A streaming data pipeline orchestrated as a series of microservice applications has always been the core value of Spring Cloud Data Flow’s design. In Data Flow 1.3 we have provided the ability to update sources, processors, and sinks independently without having to undeploy and redeploy the entire stream.

The stream update and rollback functionality is implemented by delegating the deployment process to a new Spring Cloud project called Skipper. Skipper is a lightweight Spring Boot application, purpose-built to fill this feature gap in Data Flow. Skipper defines a package format, much like helm or brew and can also deploy/undeploy applications to multiple cloud platforms: Local, Cloud Foundry, and Kubernetes. It uses the same Spring Cloud Deployer libraries that have been part of Data Flow since the beginning. Recent presentations at SpringOne 2017 introduces Skipper and the integration with Data Flow in more depth.

When deploying a Stream, Data Flow creates Skipper package describing the Stream and the applications that are part of the Stream definition. Skipper then deploys the applications to the desired platform. When requesting a stream update, only the application or applications that need to be changed are automatically redeployed. A simple strategy managed by a Spring Statemachine instance performs the update or rollback steps.

Data Flow includes new stream commands to make upgrade and rollback operations.

dataflow:>app register --name transform --type processor --uri maven://com.eg:transformer:0.0.1

dataflow:>stream create mystream --definition "jdbc | transform | mongodb"

dataflow:>app register --name transform --type processor --uri maven://com.eg:transformer:0.0.2

dataflow:>stream update mystream --properties “version.transform=0.0.2”

dataflow:>stream rollback mystream

In this series of commands, the stream is deployed using version 0.0.1 of the transformer. The jdbc and mongodb source and sink are already registered. The stream is then updated to use version 0.0.2 of the transformer. Only the transform application is updated, with version 0.0.2 being deployed and version 0.0.1 being undeployed. The jdbc and mongodb applications are left as-is. The rollback command does the opposite, bringing the stream back to the state with version 0.0.1 of the transformer.

Note: To use Data Flow and Skipper, Data Flow’s feature toggle for Skipper must be enabled in both the Data Flow Server and shell.

Read more...

Spring Cloud Data Flow 1.3.0.M1 released

On behalf of the team, I am pleased to announce the first milestone release of Spring Cloud Data Flow 1.3.0.

Local Server: Getting Started Guide.

Usability is one of the big focus for our team and in the 1.3 release-line, we are aiming to modernize the dashboard with an upgraded client-side technology stack, improved tooling, and documentation. The focus is to improve the readability, user-experience, and the overall performance.

Angular 4

This first milestone release of Spring Cloud Data Flow contains the initial version of the new Angular 4 based Dashboard UI. The old AngularJS 1.x based UI, particularly the tooling and secondary framework/library choices, started to show their age.

Read more...

Spring Cloud Data Flow 1.2.1 released

On behalf of the Spring Cloud Data Flow team, I’m pleased to announce the release of Spring Cloud Data Flow and Spring Cloud Data Flow for Cloud Foundry 1.2.1.RELEASE. This release provides several improvements around OAuth2 authorization.

Here are the relevant links to documentation and getting started guides.

Spring Cloud Data Flow now provides role support for OAuth2, converging with the VIEW, CREATE, MANAGE roles that Data Flow supports when using the traditional security option. Considering the varying use-case requirements across organizations in regards to security roles, the out-of-the-box implementation will assign all the VIEW, CREATE, MANAGE roles to the OAuth authenticated user. However, this can be customized by providing your own AuthoritiesExtractor.

Read more...

Spring XD 1.0.0.M4 Released

The Spring XD team is pleased to announce that Spring XD 1.0.0 Milestone 4 is now available for download.

Spring XD makes it easy to solve common big data problems such as data ingestion and export, real-time analytics, and batch workflow orchestration. This release includes several notable new features:

Read more...

Spring XD 1.0.0.M1 released

Dear Spring Community,

The Spring XD team is pleased to announce that the first milestone of Spring XD is now available for download.

Spring XD makes it easy to solve common big data problems such as data ingestion and export, real-time analytics, and batch workflow orchestration. The first milestone implements many features and provides a sizable amount of documentation.

For more information, please see the Project Home Page, the Release Notes and the the blog posting.

We would love to hear your feedback as we continue working hard towards the final Spring XD 1.0.0 release. If you have any questions, please use Stackoverflow (Tag: springxd), and to report any bugs or improvements, please use either the Jira Issue Tracker or file a GitHub issue.

Read more...

What's New in Spring Integration 2.2 (Part 3 – JPA Support)

This is the third part in a series of blog posts highlighting some of the new features available in Spring Integration 2.2 following the recent release of Release Candidate 1. The first part described the new set of MongoDB adapters. In part two we highlighted the new extended support for synchronizing non-transactional resources with transactions.

In this third part today, we would like to introduce the new Java Persistence API (JPA) support that is provided starting with Spring Integration 2.2. The JPA module is persistence-provider-agnostic and has been tested using:

Read more...

Community-Driven Spring Integration Extensions

The Spring Integration team proudly announces the availability of the Spring Integration Extensions repository. The main goal for this new GitHub-based repository is to promote a vibrant community of adapter and extension developers, and to encourage a broader segment of the community to contribute to the project. The Spring Integration Extensions project is hosted at:

This new repository will give us the flexibility to incorporate new contributions much more rapidly, without having to go through the core Spring Integration framework’s stricter vetting process. Since each community contributed extension is a separate project in the Spring Integration Extensions repository, it will have its own release life-cycle independent from the one that governs the core Spring Integration framework. As a result, this will allow for more frequent releases.

Read more...