The Spring Blog

News and Events

This Week in Spring - August 9th, 2016

Welcome to another installment of This Week in Spring! This week I’m recovering from a crazy awesome week at SpringOne Platform while visiting customers here in summer-time London.

We’ve got a lot to cover so let’s get to it!


SpringOne Platform 2016 Recap: Day 2

by Josh Long and Pieter Humphrey

The excitement has continued at full speed ahead! Today we continued the exploration of how Pivotal is empowering developers to deliver better software and business value for their organizations.


Reactive has been a key theme at SpringOne Platform 2016. Microservices highlight the need for reactive programming. It’s a truly intense moment for the Spring team as they (re)consider a decade of synchronous programming practices and implementation. While we are starting with the an MVC-like model in web applications, modern cloud native application will ultimately require reactive options from end to end. This is just the beginning.


This Week in Spring - SpringOne Platform 2016 edition! - August 2nd, 2016

Welcome to another very special installment of This Week in Spring - this week Pivotal is out in force at SpringOne Platform 2016. This year saw more people, more topics and more sponsors than ever! For more, check out our SpringOne Platform recap blog!

If you’re not here, then fear not all the talks will be available online, but until then.. wish you were here! As with previous years, the race to SpringOne was filled with awesome releases that should keep you more than busy while you wait for the talks to be available online as replays! Let’s get to it!


SpringOne Platform 2016 Recap: Day 1

by Josh Long and Pieter Humphrey

Spring’s central to a key message: software is business differentiating functionality, and everything that defers an organization’s from delivering better software, faster and safer, should be automated or eliminated. SpringOne Platform captures that narrative with talks on all things continuous delivery.

The SpringOne Platform 2016 event shows how everything about this show has been bigger and better than ever! We’ve doubled the conference attendance from 2015, with record (2000+) attendees, 200+ talks, 30+ sponsors, amazing speakers from Netflix, Paypal, Microsoft, Google, Rakuten, Heroku, Red Hat, and many others.


Spring IO Platform Athens RC1

It’s my pleasure to announce that Spring IO Platform Athens-RC1 is available now from the Spring milestone repository.

This release is the first to adopt a new alphabetical versioning scheme similar to those already used by Spring Cloud and Spring Data. The theme for the Platform’s versions is world cities.

The Athens release upgrades the versions of a number of projects:

  • Spring Framework 4.3
  • Spring AMQP 1.6
  • Spring Boot 1.4
  • Spring Data Hopper
  • Spring Hateoas 0.20
  • Spring Integration 4.3
  • Spring LDAP 2.1
  • Spring REST Docs 1.1
  • Spring Security 4.1
  • Spring Session 1.2
  • Spring Web Services 2.3

Reactive Programming with Spring 5.0 M1

As Juergen mentioned in his Spring Framework 5 M1 release announcement our Spring Reactive initiative has been merged into Spring Framework proper preserving all contributions and its full history over more than a year.

What is it?

In a nutshell reactive programming is about non-blocking, event-driven applications that scale with a small number of threads with backpressure as a key ingredient that aims to ensure producers do not overwhelm consumers. The Reactive Streams specification (also adopted in Java 9) enables the ability to communicate demand across layers and libraries from different providers. For example an HTTP connection writing to a client can communicate its availability to write all the way upstream to a data repository fetching data from a database so that given a slow HTTP client the repository can slow down too or even pause. For a more extensive introduction to reactive programming check Dave Syer’s multipart series “Notes on Reactive Programming”.


This Week in Spring - July 26th, 2016

Welcome to another installation of This Week in Spring! This week I’m mostly in San Francisco and Saint Louis, busily preparing for the big event next week!

This is my favorite time of year! As we lead to SpringOne Platform, there’s so much good stuff being released that one can hardly keep up! I am really looking forward to this year’s SpringOne Platform show, coming in early August. It’s an amazing time to build applications, and SpringOne Platform is in a unique position to capture the larger discussion: why do we #devops, #cloud, #agile, or #microservice? Join the discussion August 1-4, 2016 in beautiful Las Vegas and let’s find out!


Spring Cloud Contract 1.0.0.M1 Released

On behalf of the Spring Cloud team it is my pleasure to announce the 1.0.0.M1 release of the new Spring Cloud project called Spring Cloud Contract. You can grab it from the Spring’s milestone repository or even better - go to and pick it from there.

Spring Cloud Contract

The microservice approach has plenty of benefits but also introduces complexity. This is an inevitable result of working with distributed systems: with increasing complexity inevitably more questions are posed. In this article we show how to test microservices and create a better API by using the Consumer Driven Contracts approach. In order to make testing microservices easier we are more than happy to introduce a new project in the family of Spring Cloud projects - Spring Cloud Contract. This project provides support for Consumer Driven Contracts and service schemas in Spring applications, covering a range of options for writing tests, publishing them as assets, asserting that a contract is kept by producers and consumers, for HTTP and message-based interactions.

This article is a companion of another recent one on how to do zero-downtime deployment with a database.


Notes on Reactive Programming Part III: A Simple HTTP Server Application

In this article we continue the series on Reactive Programming, and the focus is less on learning the basic APIs and more on more concrete use cases and writing code that actually does something useful. We will see how Reactive is a useful abstraction for concurrent programming, but also that it has some very low level features that we should learn to treat with respect and caution. If we start to use these features to their full potential we can take control of layers in our application that previously were invisible, hidden by containers, platforms and frameworks.