The Spring Blog

News and Events

Spring Cloud Data Flow 1.1 M2 Released

On behalf of the team, I am pleased to announce the release of the second milestone of Spring Cloud Data Flow 1.1. You can download the local server that is part of this release here.

The 1.1 M2 release includes the following new features and improvements:

  • Builds upon Boot 1.4.1 and Spring Cloud Camden improvements

  • Task application properties can now be referenced using non-prefixed property names

  • Add visual representation for related streams. This representation also includes nested TAPs and the downstream processing nodes in an overall topology view.


Spring Cloud Pipelines

On behalf of the Spring Cloud team it is my pleasure to announce a new project called Spring Cloud Pipelines. Unlike most of Spring projects this one is not available at any repository since it’s not a library, but instead it is available as a github repo for you to download and use as template for creating a deployment pipeline.

Without any further ado let’s get into some details related to the project.

Problem we’re trying to solve

Spring, Spring Boot and Spring Cloud are tools that allow developers speed up the time of creating new business features. It’s common knowledge however that the feature is only valuable if it’s in production. That’s why companies spend a lot of time and resources on building their own deployment pipelines.

This project tries to solve the following problems:

  • Creation of a common deployment pipeline

  • Propagation of good testing & deployment practices

  • Speed up the time required to deploy a feature to production

A common way of running, configuring and deploying applications lowers support costs and time needed by new developers to blend in when they change projects.

Currently we support the following CI / CD systems out of the box

  • Concourse

  • Jenkins


This Week in Spring - October 18, 2016

Welcome to another installment of This Week in Spring! It’s been another crazy wonderful week. This week I’m in London and Cambridge, UK visiting with customers and speaking (in particular, at the O’Reilly Software Architecture Conference) If you’re about be sure to say hi! Now then, let’s get to it!


Webinar Replay: Data Microservices in the Cloud

Speakers: Mark Pollack, Mark Fisher
Spring Cloud Data Flow enables you to create data pipelines for many common use-cases such as data ingestion, real-time analytics and data import/export.
In this webinar, we will introduce Spring Cloud Data Flow’s architecture and walk through the orchestration capabilities of long-running and short-lived data-centric applications on multiple runtime platforms such as Cloud Foundry, Kubernetes, Apache Mesos and Apache YARN.
Spring Cloud Data Flow represents the evolution of Spring XD and retains the DSL to define data pipelines as well as the web based UI designer, but changes the component model from modules that used to run inside a container to standard Spring Boot applications built with Spring Cloud Stream and Spring Cloud Task APIs.


Java DSL for Spring Integration 1.2 Release is available

Dear Spring Community,

It’s my pleasure to announce that the Java DSL for Spring Integration 1.2 GA is now available.

The artifact org.springframework.integration:spring-integration-java-dsl:1.2.0.RELEASE is available in the Release repo and Maven Central.

Since the previous Release Candidate 1 we have received some feedback and these additional features have been added:

Thread Barrier support

A new .barrier() and its mirror .trigger() EIP-methods have been added to the IntegrationFlow definition:

private static final String BARRIER = "barrier";

public IntegrationFlow barrierFlow() {
    return f -> f
        .barrier(10000, b -> b
                         new HeaderAttributeCorrelationStrategy(BARRIER))
                 .outputProcessor(g ->
         .channel(c -> c.queue("barrierResults"));

public IntegrationFlow releaseBarrierFlow(
                          MessageTriggerAction barrierTriggerAction) {
    return IntegrationFlows.from((Channels c) -> c.queue("releaseChannel"))
            e -> e.poller(p -> p.fixedDelay(100)))

Spring Cloud Task 1.1.0.M2 is now available

We are pleased to announce that Spring Cloud Task 1.1.0.M2 is now available via Github and the Pivotal download repository. Many thanks to all of those who contributed to this release.

What’s new in Spring Cloud Task 1.1.0.M2

This release continues to progress on 1.1.0’s main theme of improving overall task functionality as well as migrating features that existed within Spring XD to Spring Cloud Task. The main updates for this release are the following:

  • Support for Generated Task Id - A common use case for a Spring Cloud Task application is to launch it within a PaaS, like Cloud Foundry or other cloud infrastructure. Because of this, there may be a delay between the launch request and the actual application beginning. Worse, the system responsible for launching the application may not actually launch the task for reasons outside of Spring Cloud Task’s control (lack of resources, network issues, etc). This feature allows the caller to register that a task has been requested to run. This way, no request of a task is lost between the request and the actual start of the Boot application.
  • Support for External Execution Id - When executing a task on a PaaS or other cloud infrastructure, there is typically a mapping that needs to occur between the task’s execution id and the id provided by the underlying system. This feature provides the ability to correlate those two for things like log management, audit, etc.

Webinar: Consumer Driven Contracts and Your Microservice Architecture

TDD introduced many improvements into the development process, but in our opinion the biggest impact relates to code design. Looking at the code from the usage perspective (by first writing an acceptance test) allows us to focus on usability rather than concrete implementation. Unfortunately, we usually rest on our laurels not trying to uplift this practice to the architecture level.

This presentation will show you how you can use the Spring Cloud Contract Verifier functionality in order to have a fully automated solution to stub your HTTP / Messaging collaborators. Just by adding proper configuration, you’ll surround the microservices you are testing with faked stubs that are tested against their producer, making much more realistic tests.


Spring Data Geode 1.0.0.APACHE-GEODE-INCUBATING-M3 released

I apologize to both the Spring and Apache Geode communities for the delay, relative to the Apache Geode M3 release announcement, but I am very excited and pleased to follow that with the release of Spring Data for Apache Geode 1.0.0-incubating.M3.

You can get the bits from Maven Central by including the following dependency in either your application Maven or Gradle build files …