The Spring Blog

Engineering
Releases
News and Events

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

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 processing applications with Spring Cloud Stream and Kafka Streams. In the subsequent blog posts in this series, we will look into more details.

Read more...

A Bootiful Podcast: Spring Tools lead Martin Lippert

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!

Read more...

Spring Cloud Hoxton Released

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. We hope you find that the new documentation structure easier to consume.

Read more...

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

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"
Read more...

Spring Cloud Open Service Broker 3.1.0 Released

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 to create Service Binding response body
  • 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
  • Add maintenance_info field to Service Plan object
  • Add maximum_polling_duration field to Service Plan object
  • Add plan_updateable field to Service Plan object
  • Return HTTP 400 when the required service_id and/or plan_id are missing or incorrect
  • Return HTTP 202 when a service broker operation is in progress and an identical request is sent before the previous request completes
  • Return JSON arrays instead of JSON objects for certain Service definition metadata
  • Add support for custom base path of service broker controllers
  • Improve support for service metadata in configuration properties
  • Add support for configuring Base64 metadata.imageUrl data from a class path image file
  • Improve configuration of event hooks via additional bean and auto-configuration support
Read more...

This Week in Spring - November 26th, 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 all, dear (worldwide) community! Happy Thanksgiving, all!

Read more...

Spring Cloud Task 2.2.1 GA is now available

We are pleased to announce that the Spring Cloud Task 2.2.1.RELEASE is now available on Github and the Pivotal download repository. Many thanks to all of those who contributed to this release.

What’s New?

The Spring Cloud Task 2.2.1.RELEASE is intended to be the version of the framework aligned with Spring Boot 2.2.x. Updates in this new version include:

  • Update all dependencies.
  • Micrometer support.
  • Updated documentation with improved format.
  • Task apps launched when using Spring Batch partitioning now have external-execution-id populated.
Read more...

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

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!.

Read more...

Announcing the release of Spring Cloud Function 3.0.0.RELEASE

We are pleased to announce the release of the Spring Cloud Function 3.0.0.RELEASE, which is available as part of Spring Cloud Hoxton.RELEASE (imminent) and builds on Spring Boot 2.2.x.

Spring Cloud Function 3.0.0.RELEASE modules are available for use in the Maven Central repository.

Quick highlights:

Transparent type conversion

This release introduces a refactored implementation of FunctionCatalog which amongst features such as function composition, support for reactive and non-reactive functions and more introduces transparent type conversion via MessageConverters provided by Spring Messaging.

Read more...