The Spring Blog

News and Events

Azure Spring Cloud Is Now In Public Preview

Hi, Spring fans! Today we’re excited to announce that Azure Spring Cloud, the runtime for Spring Boot-based applications and Spring Cloud-based microservices jointly developed by Microsoft and Pivotal, is now in public beta. Anybody can try it out now!

As customers have moved their workloads to the cloud, we’ve seen a growth in the use of cloud-native architectures, particularly microservices. Microservice-based architectures help improve scalability and velocity, but implementing them can pose challenges. For many Java developers, Spring Boot and Spring Cloud have helped address these challenges, providing a robust platform with well-established patterns for developing and operating microservice applications.


Spring Cloud Stream - Composed Functions or EIP

In preparation for the upcoming releases of Spring Cloud Stream (SCSt) 3.0.0 - Horsham and Spring Cloud Function (SCF) 3.0.0, we’ve been publishing a series of posts discussing and showcasing new features and enhancements.
We provided motivation and justification for moving away from the annotation-based programming model to the functional model, and then we provided more details on the functional approach, as well as reactive functions.
In another post, which is relevant to what we’re going to be discussing here, Artem demonstrated the benefits of combining functional approaches with the Spring Integration project. We also talked about event routing in our last post.


Spring Framework 5.2.1 and 5.1.11 available now

On behalf of the team and everyone who has contributed, I am pleased to announce that Spring Framework 5.2.1 and 5.1.11 are available now.

The first maintenance release of the 5.2 line includes over 35 fixes and improvements. Spring Framework 5.1.11 includes 7 selected fixes and improvements.

As usual, we’ll follow up shortly with corresponding Spring Boot releases (2.2.1 and 2.1.10).

Project Page | GitHub | Issues | Documentation


Spring Cloud Stream - Event Routing

Welcome to another post in a series of posts showcasing the new features of Spring Cloud Stream (SCSt).
In previous posts (available here, here and here), we tried to provide justification for our shift to a functional programming model in Spring Cloud Stream (SCSt). It is less code and less configuration, and your code remains completely decoupled from the internals of SCSt.

Today, we’ll talk about routing with functions.
Routing, in the context of SCSt, is the ability to either a) route events to a particular event subscriber or b) route an event produced by an event subscriber to a particular destination. To help more with the context, let’s quickly look at how things work in the annotation-based programming model. In this post, we’ll refer to it as route ‘TO’ and route ‘FROM’.


This Week in Spring - October 29th, 2019

Hi, Spring fans! Welcome to another installment of This Week in Spring! Can you believe we’re already staring down November? I can’t! (We’re just two months away from the new year!) This week I’m in Chicago for meetings, and then - finally - I’m off to San Francisco and see the family. Then, it’s off to Europe for the Devoxx Ukraine and Devoxx Belgium events. I can’t wait to see everyone there!

I’m particularly looking forward to spending Halloween (on the 31st of October) in San Francisco with my kid. The entire family, including the dog, have Halloween costumes. We’re ready! (I’m going dressed as an application server.)


Announcing Spring Cloud Stream Horsham.RC1 (3.0.0.RC1)

We are pleased to announce the first Release Candidate of the Spring Cloud Stream Horsham.RC1 (3.0.0.RC1).

Spring Cloud Stream Horsham.RC1 (3.0.0.RC1) modules are available for use in the Spring Milestone repository.

Quick highlights:

  • Spring Boot 2.2.x
  • Spring Cloud Function 3.0.0.RC1

Notable features and enhancements for this milestone:

Emphasis on functional programming model

As mentioned in the previous release blogs, with this release we are shifting to a simpler functional programming model.

In the nutshell a simple spring-boot application with at least one function bean is also a spring-cloud-stream application (as shown below).


Spring Cloud Hoxton.RC1 Released

On behalf of the community, I am pleased to announce that the Release Candidate 1 (RC1) of the Spring Cloud Hoxton Release Train is available today. The release can be found in Spring Milestone repository. You can check out the Hoxton release notes for more information.

Notable Changes in the Hoxton Release Train

  • Spring Cloud Hoxton.RC1 is built upon Spring Boot 2.2.0.RELEASE, please use this release when using Spring Cloud Hoxton.RC1.

Spring Cloud Vault

Spring Cloud Circuitbreaker


Spring Cloud Open Service Broker 3.1.0.M3 Released

We are pleased to announce the 3.1.0.M3 release of Spring Cloud Open Service Broker. Support for Open Service Broker API v2.15 is now feature complete. Thanks to the community for your feedback and contributions! This release includes the following fixes and enhancements:

  • Upgrade to Spring Boot 2.2.0.RELEASE
  • Support updating a Service Instance context
  • Add list of endpoints to create and get Service Binding response bodies
  • Support X-Broker-API-Request-Identity request identity header
  • Restrict Operation strings to 10,000 characters in the response body
  • Fix an issue where ServiceInstanceBindingDoesNotExistException was incorrectly extended from RuntimeException, instead of ServiceBrokerException

Spring Cloud Stream - and Spring Integration.

If you listened to Oleg Zhurakousky's talk at Spring One Platform 2019 about Spring Cloud Stream & Functions or read his recent blog posts about Simplified Spring Cloud Stream and Functional Spring Cloud Stream, you may want to say: "Wait! What happened with Spring Integration support? What do I now do with my @ServiceActivator or IntegrationFlow? I used to deal with the Sink.input() as a channel to consume binder destination with some Spring Integration logic!" As Oleg mentions in his blog post, it is still possible with existing @EnableBinding and so on, but we are moving away from that model, so how can we still benefit from all the features of Spring Integration in the world of functional Spring Cloud Stream?