This Week in Spring - December 22nd, 2020

Engineering | Josh Long | December 22, 2020 | ...

Hi, Spring fans! Welcome to another installment of This Week in Spring!

It's December 22nd, 2020, as I write this and I can not believe we're smack dab in the middle of the week and only have two shopping days until Christmas! I don't know if it's just that time of year and I'm flush with the normal amount of warm-n-fuzzies or if it's just that, after a year like 2020, I'm very keen on savoring this precious reprieve. Either way, couldn't be happier. I've got a cold! I'm sick and sneezing and my nose is running, but at least it's not COVID-19, and at least I've got my family and my job, and - all things considered - I feel very, very, veery

Announcing Spring Cloud Stream Applications 2020.0.0 GA Release

Engineering | Soby Chacko | December 21, 2020 | ...

We are glad to announce the GA release of the newly redesigned Spring Cloud Stream applications - 2020.0.0.

We would like to use this release announcement as an opportunity to wrap up the blog series that we started in the summer. Therefore, consider this as part 15 of the blog series. In this blog, we are going to give a rundown of all the previous episodes in the series, but first, let us go through some release details.

Release Overview

2020.0.0 GA release contains the completely revamped functional foundation for the event-streaming applications. The old structure was based on an app starter model in which the critical logic for the applications is provided as part of a starter module. The starters then form the foundation for the applications. While it worked for the previous four generations of these app starters (Avogadro, Bacon, Celsius, Darwin, and Einstein), it deemed necessary to rewrite these starters as reusable functions so that they can be used for a wide array of use cases beyond what is required in the out of the box applications. Therefore, many of the old app starters were refactored and redesigned as functions, suppliers, and consumers. For the out of the box Spring Cloud Stream binder based applications, we take these functional components and use them as the base to build them. Other custom applications, even non-streaming use cases, can be designed using these functional components as a foundation. The functions can…

This Week in Spring - December 15th, 2020

Engineering | Josh Long | December 16, 2020 | ...

Hi, Spring fans! Welcome to another installment of This Week in Spring! Can you believe it's already December 15th? Me either! Another few weeks and this soul annhilating year will be over with and we'll be staring down 2021 filled with new hopes and possibilities! How are you? (Have you dipped into the eggnog yet?) I'm doing alright, thanks! I've been busy, as usual.

Most of that was fun stuff. But, some of that, I confess, was a mess of my own making. I spent Monday cleaning up a fire I'd set for myself. You see, I got a little sloppy with last week's podcast episode. Last week, I was…

Testing Spring Cloud Stream Applications - Part 1

Engineering | David Turanski | December 15, 2020 | ...

This post is part of a blog series that explores the newly redesigned Spring Cloud Stream applications based on Java Functions. This episode, presented in two parts, explores strategies for testing functions used to implement stream applications. We will pay special attention to functions that integrate with external resources, which presents additional testing challenges. Such is the case with most of the pre-packaged source and sink applications. To illustrate this, we will walk through a sample couchbase-sink application. Here in Part 1, we will focus on the core function on which the sink…

Testing Spring Cloud Stream Applications - Part 2

Engineering | David Turanski | December 15, 2020 | ...

This is Part 2 of Testing Stream Applications. In Part 1 we implemented and tested the core function needed for our sample couchbase-sink application. The tests at the function level covered expected success and error scenarios and relied on Testcontainers to provision a Couchbase cluster. This post assumes you have read Part 1 and continues where it left off.

Couchbase Sink

In Part 1 we verified that the function we wrote for upserting data into Couchbase works as expected. We can now use the function, exposed as a java.util.Consumer, to implement a sink to use in a data pipeline built with…

Case Study: Change Data Capture (CDC) Analysis with CDC Debezium source and Analytics sink in Real-Time

Engineering | Christian Tzolov | December 14, 2020 | ...

A Bootiful Podcast: open-web legend Dion Almaer

Engineering | Josh Long | December 14, 2020 | ...

Hi, Spring fans! In this special midweek installment I (Josh Long) correct a mistake I made last week when I inadvertently released the episode featuring open-web legend Dion Almaer with the interview I conducted with the inspirational and oh-so-amazing Spring Batch co-lead Mahmoud Ben Hassine. This is the actual episode with Dion Almaer (@dalmaer) who is known for so many contributions to the Java ecosystem and beyond. I know him as a former editor in chief of TheServerSide.com, but you may know him for his work championing the open web at Palm, Walmart, and Google, and many more.

Cloud Events and Spring - part 1

Engineering | Oleg Zhurakousky | December 10, 2020 | ...

Prologue

Uniformity of data across systems and platforms is a singular and noble purpose of Cloud Event specification. With its growing adoption, the hope is that the developers and architects would no longer have to worry about how to deal with various events coming from different systems and platforms. . . But the point of this post is not to re-litigate or re-justify Cloud Events. A simple Google search renders quite a few points for you to read to help the "Why Cloud Events?" question. The goal of this and subsequent posts on the subject is to share some ideas and the work we've been…

Get the Spring newsletter

Stay connected with the Spring newsletter

Subscribe

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all