Stream Processing with Spring Cloud Stream and Apache Kafka Streams. Part 2 - Programming Model Continued

Engineering | Soby Chacko | December 03, 2019 | ...

On the heels of the previous blog in which we introduced the basic functional programming model for writing streaming applications with Spring Cloud Stream and Kafka Streams, in this part, we are going to further explore that programming model.

Let’s look at a few scenarios.

Scenario 1: Single input and output binding

If your application consumes data from a single input binding and produces data into an output binding, you can use Java’s Function interface to do that. Keep in mind that binding in this sense is not necessarily mapped to a single input Kafka topic, because topics could be…

This Week in Spring - December 3, 2019

Engineering | Josh Long | December 03, 2019 | ...

Hi, Spring fans! Can you believe - and I can't, by the way - that we're already in December 2019? The last month before the new year? The last month of this decade? It defies belief! I can't even imagine how we got this far so quickly, but it's great that we did. I started writing This Week in Spring in the first week of January 2011, so we're fast approaching 9 years of This Week in Spring!

As I write this I am in Toronto, Canada, for the last stop on the SpringOne Tour train for 2019. I enjoyed giving a two-hour talk introducing all sorts of stuff in the wide world of Reactive Spring…

Spring Framework maintenance roadmap in 2020 (including 4.3 EOL)

Releases | Juergen Hoeller | December 03, 2019 | ...

Dear Spring community,

With Spring Framework 5.2.2 and 5.1.12 being available now, let me take the opportunity to provide an update on the maintenance roadmap in 2020.

Most importantly, Spring Framework 4.3.x and therefore Spring Framework 4 overall will reach its end-of-life next year: Our EOL cut-off is December 31st, 2020, with no further support on 4.3.x beyond that point. At the same time, we are also phasing out 5.0.x and 5.1.x for good.

As for planned releases, first up is a full round in mid January: with 5.2.3 and 5.1.13 accompanied by 5.0.16 and 4.3.26. The latter are the last…

Stream Processing with Spring Cloud Stream and Apache Kafka Streams. Part 1 - Programming Model

Engineering | Soby Chacko | December 02, 2019 | ...

This is the first in a series of blog posts in which we will look at how stream processing applications are written using Spring Cloud Stream and Kafka Streams.

The Spring Cloud Stream Horsham release (3.0.0) introduces several changes to the way applications can leverage Apache Kafka using the binders for Kafka and Kafka Streams. One of the major enhancements that this release brings to the table is first class support for writing apps by using a fully functional programming paradigm. This blog post gives an introduction to how this functional programming model can be used to develop stream…

A Bootiful Podcast: Spring Tools lead Martin Lippert

Engineering | Josh Long | November 29, 2019 | ...

Hi, Spring fans! In today's episode Josh Long (@starbuxman) talks to Spring Tools lead Martin Lippert (@martinlippert) about his time at Pivotal, and on the Spring team, his work on Spring Tools, and his work on language servers that now serve as the foundational integration for Spring users using Microsoft's Visual Studio Code, emacs and Atom, among other things.

Thanks, dear listener, and Happy Thanksgiving!

Spring Cloud Hoxton Released

Releases | Ryan Baxter | November 28, 2019 | ...

On behalf of the community, I am pleased to announce that the General Availability (RELEASE) of the Spring Cloud Hoxton Release Train is available today. The release can be found in Maven Central. You can check out the Hoxton release notes for more information.

Notable Changes in the Hoxton Release Train

Spring Cloud Hoxton.RELEASE is based on Spring Boot 2.2.1.RELEASE.

Documentation Changes

The Hoxton.RELEASE docs have a new landing page, new theme and a single-page, multi-page and a pdf version.The landing page will link you to the documentation for the specific project you are interested in…

Spring Integration AWS 2.3 GA and Spring Cloud Stream Kinesis Binder 2.0 GA Available

Releases | Artem Bilan | November 27, 2019 | ...

Dear Spring Community,

Today it’s my pleasure to announce General Availability of Spring Integration for Amazon Web Services extension version 2.3.0 and Spring Cloud Stream Binder for AWS Kinesis version 2.0.0.

These releases can be downloaded from Maven Central, JCenter, and our release repository:

compile "org.springframework.integration:spring-integration-aws:2.3.0.RELEASE"

If you don’t use Kinesis Binder. Or via Binder dependency:

compile "org.springframework.cloud:spring-cloud-stream-binder-kinesis:2.0.0.RELEASE"

Release Highlights

  • The main theme of both these releases is about an integration testing using a Local Stack framework which helped us to spot several bugs and race conditions in both libraries.

  • The spring-integration-aws provides a PutRecordsRequest (batch) support for KplMessageHandler collecting async results for UserRecords in that batch using Project Reactor Mono.fromFuture() functionality.

  • A KinesisShardEndedEvent is now emitted from the KinesisMessageDrivenChannelAdapter when the next shard request returns null with the meaning that shard is closed and no records can be added to that any more.

  • The spring-cloud-stream-binder-kinesis is based on the recently released Spring Cloud Stream version 3.0 and provides a new KinesisBinderHealthIndicator to check that all the streams involved in binding configurations are available.

This Week in Spring - November 26th, 2019

Engineering | Josh Long | November 26, 2019 | ...

Hi, Spring fans! Welcome to yet another installment of This Week in Spring! This week, I'm in Tokyo, Japan, for the Pivotal Summit Japan event. I've regretfully had to miss the China and Korea events because of a famly emergency, so it's nice to be able to make this, the last stop on the tour, before returning to California to celebrate Thanksgiving with the family.

And, on that note... it's almost Thanksgiving in the US. Thanksgiving is a time for us in the US to reflect on that for which we're thankful. I think I speak for the entire Spring team when I say that we are very grateful for you…

Spring Cloud Open Service Broker 3.1.0 Released

Releases | Roy Clarkson | November 26, 2019 | ...

We are pleased to announce the general availability of Spring Cloud Open Service Broker 3.1.0.RELEASE. Support for Open Service Broker API v2.15 is now feature complete. Thanks to the community for your feedback and contributions! This release includes all of the fixes and enhancements from the pre-release milestones:

  • Upgrade to Spring Boot 2.2.1.RELEASE
  • Add ServiceBrokerMaintenanceInfoConflictException to handle MaintenanceInfoConflict error scenarios
  • ServiceBrokerInvalidParametersException now returns an HTTP 400 when a create or update request is malformed or includes invalid parameters. Previously it was, incorrectly, returning an HTTP 422.
  • CreateServiceInstanceBindingRequest now extends AsyncParameterizedServiceInstanceRequest in order to utilize a common request object and reduce redundancy.
  • Update reference documentation
  • Support updating a Service Instance context
  • Add list of endpoints

Announcing the release of Spring Cloud Stream Horsham (3.0.0.RELEASE)

Engineering | Oleg Zhurakousky | November 25, 2019 | ...

We are pleased to announce the release of the Spring Cloud Stream Horsham (3.0.0.RELEASE) release train which is available as part of Spring Cloud Hoxton.RELEASE (imminent) and builds on Spring Boot 2.2.x and Spring Cloud Function 3.0.0.RELEASE which was also just released.

Spring Cloud Stream Horsham.RELEASE modules are available for use in the Maven Central repository.

Quick highlights:

As mentioned in these posts (demystified and simplified, functional and reactive, stream and spring Integration and event routing) preceding this announcement, the core theme of this release is functions!.

Historically, Spring Cloud Stream exposed annotation-based configuration model that required the user to be aware of and provide considerable amount of boilerplate information that could be otherwise easily inferred. You can read more details about it here

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