Spring for Apache Kafka 2.3 is now available
We are pleased to announce the following releases are now available.
All users are encouraged to upgrade to these versions
The 2.3.0 release is the first release of the newest line for this project.
Refer to the What’s New chapter for more information, but here are a few highlights:
Producing
-
Option to use a producer per thread, to avoid blocking other threads when flushing.
-
The
AggregatingReplyingKafkaTemplate
extension to theReplyingKafkaTemplate
is provided to aggregate replies from multiple consumers.
Consuming
-
You can now add a
RecordInterceptor
to modify the record before the listener is invoked. -
ConsumerSeekAware
now supports relative seeks. -
You can now specify a delay between processing the results of the previous
poll()
and issuing the nextpoll()
. -
When using manual
AckMode
s, you can now negatively acknowledge a record and the container will perform the necessary seeks to replay the record. -
Micrometer
Timer
s are now supported to monitor listener performance. -
The
SeekToCurrentErrorHandler
can be configured to treat certain exceptions as fatal, disabling retry; you can also now add aBackOff
between redelivery attempts for failed deliveries. -
The
RetryingDeserializer
is provided to retry serialization in the event of, say, a network glitch accessing a schema registry.
Kafka Streams
-
The
RecoveringDeserializationExceptionHandler
is now provided for handling deserialization exceptions. -
The
HeaderEnricherTransformer
is provided to add headers within a stream topology definition. -
The
MessagingTransformer
is provided to allow invocation of a Spring Integration flow from within a stream definition.
Miscellaneous
-
Delegating serializer and deserializer implementations are provided to allow sending/receiving records containing different types.
Project Page | GitHub | Issues | Documentation | Stack Overflow | Gitter