This Week in Spring - December 24th, 2019

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

Hi, Spring fans! Welcome to another installment of This Week in Spring! Can you believe it's the 24th of December already? We're already two days into Chanukah, and one day away from Christmas, one day away from Kwanza, and two days away from Boxing Day, among other holidays. And just a week away from the brand new year, the first year of the new decade! I can't believe it! By the end of 2020, I'll have been (officially) part of the Spring team for 10 years and I'll have been doing these This Week in Spring roundups for 10 years too. What a privilege it's been to be a part of the team.

I love this time of year. It represents a time for me to be with my family, to celebrate, to rekindle my energies, and to gather for the new year. I am so excited to see what's coming in 2020! I'm also excited because next week, this column - like every year before it - will be a special This Year in Spring

This Week in Spring - December 18th, 2019

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

Hi, Spring fans! This week I am in beautiful Tokyo, Japan, where I just spoke at the always lovely annual Spring Fest event. I loved the show and I hope that they got something out of my performance.

Last week was tough. Possibly the toughest week of my life. I didn't publish an episode of A Bootiful Podcast, as such. You won't see that episode reflected on the blog because it was my heartbroken dedication to my father, who passed away last week at the age of 81. No interview in that brief, less-than-20 minutes episode.

I'm feeling a little better and was glad to come back to the work of…

Flight of the Flux 3 - Hopping Threads and Schedulers

Engineering | Simon Baslé | December 13, 2019 | ...

This blog post is the third in a series of posts that aim at providing a deeper look into Reactor’s more advanced concepts and inner workings.

In this post, we explore the threading model, how some (most) operators are concurrent agnostic, the Scheduler abstraction and how to hop from one thread to another mid-sequence with operators like publishOn.

This series is derived from the Flight of the Flux talk, which content I found to be more adapted to a blog post format.

The table below will be updated with links when the other posts are published, but here is the planned content:

  1. Assembly vs Subscription
  2. Debugging caveats
  3. Hopping Threads and Schedulers (this post)
  4. Inner workings: work stealing
  5. Inner workings: operator fusion

This Week in Spring - December 10th, 2019

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

Hi, Spring fans! Welcome to another installment of This Week in Spring! Today I just wrapped up my appearance in Brisbane, Australia, where I have been for the epic YOW! conference. Truly, one of my all-time favorite shows on the planet. I feel like an imposter in the ranks of the other speakers. I can not recommend this show enough.

I'm just about to board my fight back to San Francisco, and we've got a ton of stuff to get to so let's press on!

Stream Processing with Spring Cloud Stream and Apache Kafka Streams. Part 6 - State Stores and Interactive Queries

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

Part 1 - Programming Model Part 2 - Programming Model Continued Part 3 - Data deserialization and serialization Part 4 - Error Handling Part 5 - Application Customizations

In this part (the sixth and final one of this series), we are going to look into the ways Spring Cloud Stream Binder for Kafka Streams supports state stores and interactive queries in Kafka Streams.

Named State Stores

When you have the need to maintain state in the application, Kafka Streams lets you materialize that state information into a named state store. There are several operations in Kafka Streams that require it to keep track of the state such as count, aggregate, reduce, various windowing operations, and others. Kafka Streams uses a special database called RocksDB for maintaining this state store in most cases (unless you explicitly change…

Stream Processing with Spring Cloud Stream and Apache Kafka Streams. Part 5 - Application Customizations

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

Part 1 - Programming Model Part 2 - Programming Model Continued Part 3 - Data deserialization and serialization Part 4 - Error Handling

In this blog post, we continue our discussion on the support for Kafka Streams in Spring Cloud Stream. We are going to elaborate on the ways in which you can customize a Kafka Streams application.

Customizing the StreamsBuilderFactoryBean

Kafka Streams binder uses the StreamsBuilderFactoryBean, provided by the Spring for Apache Kafka project, to build the StreamsBuilder object that is the foundation for a Kafka Streams application. This factory bean is a Spring lifecycle bean. Oftentimes, this factory bean must be customized before it is started, for various reasons. As described in the previous blog post on error handling, you need to customize the StreamsBuilderFactoryBean

Stream Processing with Spring Cloud Stream and Apache Kafka Streams. Part 4 - Error Handling

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

Part 1 - Programming Model Part 2 - Programming Model Continued Part 3 - Data deserialization and serialization

Continuing with the series on looking at the Spring Cloud Stream binder for Kafka Streams, in this blog post, we are looking at the various error-handling strategies that are available in the Kafka Streams binder.

The error handling in Kafka Streams is largely centered around errors that occur during deserialization on the inbound and during production on the outbound.

Handling Deserialization Exceptions

Kafka Streams lets you register deserialization exception handlers. The default behavior is that, when you have a deserialization exception, it logs that error and fails the application (LogAndFailExceptionHandler). It also lets you log and skip the record and continue the application (LogAndContinueExceptionHandler). Normally, you provide the corresponding…

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