The Spring Blog
Hi, Spring fans! Welcome to another installment of This Week in Spring! This week I’m in Antwerp, Belgium for the epic Devoxx event. I was in Singapore for Devoxx Belgium 2018, and so I missed this event. I am so happy to be here this year.
I finished a “deep dive” session this morning with an amazing crowd of people who hung out with me for 3 hours to talk about Reactive Spring. I’ve got two more one-hour talks on Thursday, “Bootiful Testing,” and “Bootiful Kotlin.” I’m so looking forward to seeing everyone for those talks as well.
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.
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.
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’.
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.)
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.
- Spring Boot 2.2.x
- Spring Cloud Function 3.0.0.RC1
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).
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.
- Spring Cloud Hoxton.RC1 is built upon Spring Boot 2.2.0.RELEASE, please use this release when using Spring Cloud Hoxton.RC1.
- Support for PCF authentication.
- Bug Fixes
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
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?