Gary Russell

Gary Russell

Alumni
Recent Blog posts by Gary Russell

Spring for Apache Kafka 2.4 Release Candidate

Releases | December 18, 2019 | ...

Hot on the heels of the recent Apache Kafka 2.4.0 release, I am pleased to announce the release candidate for Spring for Apache Kafka 2.4 - 2.4.0.RC1 - is available in the Spring milestone repository.

This version is essentially functionally equivalent to 2.3.x, but is compiled against the 2.4.0 kafka-clients and supports the new incremental rebalancing protocol.

The 2.4.0 kafka clients are not binary compatible with Spring for Apache Kafka 2.3 so if you wish to use the 2.4.0 clients, you must upgrade to this version. See the appendix in the reference manual for how to override the jar…

Spring for Apache Kafka 2.3 is now available

Releases | October 02, 2019 | ...

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 the ReplyingKafkaTemplate 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 next poll().

  • 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 a BackOff between redelivery attempts for failed deliveries.

Spring for RabbitMQ (Spring AMQP) 2.2 is now available

Releases | October 02, 2019 | ...

We are pleased to announce the following maintenance releases are now available.

All users are encouraged to upgrade to these versions

The 2.2.0 release is the first release of the newest line for this project.

What’s New chapter for more information, but here are a few highlights:

  • Micrometer Timer s are now supported to monitor listener performance.

  • @RabbitListener s can now receive a batch of messages in a List<?>, batches can either be created on the producer side, or a SimpleMessageListenerContainer can create a batch from incoming discrete messages.

  • Spring Data Projection interfaces are now supported as @RabbitListener payloads.

  • An option is now provided to shuffle the Addresses before connecting, instead of always trying the addresses in order.

New Spring Integration, AMQP, Kafka Maintenance and Milestone Releases (08/2019)

Releases | August 08, 2019 | ...

We are pleased to announce the following maintenance releases are now available.

All users are encouraged to upgrade to these versions

Spring Integration

Project Page | GitHub | Issues | Documentation | Stack Overflow | Gitter

Spring AMQP (Spring for RabbitMQ)

Project Page | GitHub | Issues | Documentation | Stack Overflow | Gitter

Spring for Apache Kafka

Project Page | GitHub | Issues | Documentation | Stack Overflow | Gitter

In…

Spring for Apache Kafka 2.3 Milestone 2

Releases | May 13, 2019 | ...

We are pleased to announce the availability of the second milestone of the Spring for Apache Kafka 2.3 release - 2.3.0.M2.

Highlights

  • SeekToCurrentErrorHandler can be configured to not retry certain exceptions.

  • The new RecoveringDeserializationExceptionHandler can recover from failed deserialization operations in Kafka Streams applications, for example to send the failed message to a dead-letter topic.

  • The new HeaderEnricher transformer can be added to a Kafka Streams topology to add headers.

  • The new MessagingTransformer can be used to invoke a Spring Integration flow within a Kafka Streams topology.

  • The new AggregatingReplyingKafkaTemplate can send a record and wait for responses from multiple consumers.

Spring AMQP (Spring for RabbitMQ) 2.2 Milestone 2

Releases | May 13, 2019 | ...

We are pleased to announce the availability of the second milestone of the Spring AMQP 2.2 release - 2.2.0.M2.

Highlights

  • Spring Data "Projection Interfaces" are now supported by the Jackson message converter.

  • @RabbitListener methods can now receive batched messages as a List<?> instead of one-at-a-time.

  • You can now override the default acknowledge mode and executor directly on the @RabbitListener annotation.

For more information, see the What’s New chapter and the change logs.

Project Page | GitHub | JIRA | Documentation | Stack Overflow |

Spring for Apache Kafka 2.2 Released

Releases | October 29, 2018 | ...

I am pleased to announce that Spring for Apache Kafka 2.2.0.RELEASE is now available.

While the 2.1.x release is compatible with the 2.0.0 kafka-clients jar, (since 2.1.9), this version requires 2.0.0 (and provides a 2.0.0 embedded broker for testing).

Highlights

  • The SeekToCurrentErrorHandler can now "skip" records that fail repeatedly

  • Such "skipped" records can be published to a dead-letter topic (or otherwise disposed of by application code)

    • Headers are added with diagnostics about the failure

  • When using transactions, the same functionality can be achieved with the default AfterRollbackProcessor

  • You can now use the listener container factory to create any arbitrary listener container, not just containers for @KafkaListener s

    • This allows more convenient use of Spring Boot’s auto configuration properties for any container

  • @KafkaListener annotations can now override the container factory’s concurrency and autoStartup properties

New Spring Integration, AMQP, Kafka Maintenance and Milestone Releases

Releases | August 01, 2018 | ...

We are pleased to announce the following maintenance releases are now available.

All users are encouraged to upgrade to these versions

Spring Integration

Project Page | GitHub | JIRA | Documentation | Stack Overflow | Gitter

Spring AMQP (Spring for RabbitMQ)

Project Page | GitHub | JIRA | Documentation | Stack Overflow | Gitter

Spring for Apache Kafka

Project Page | GitHub | Issues | Documentation | Stack Overflow | Gitter

In addition, the first milestones of the next generations are also available:

Spring…

Spring Cloud Stream 2.0 - Polled Consumers

Engineering | February 27, 2018 | ...

This is the second blog in a series of pre-release blogs in preparation for Spring Cloud Stream 2.0.0.RELEASE.

Preface

Spring Cloud Stream 2.0 introduces polled consumers, where the application can control message processing rates.

Introduction

Spring Cloud Stream has the concepts of producers and consumers; when using the messaging paradigm, MessageChannels are bound to destinations (e.g. Kafka topics, Rabbit Exchanges/Queues). To-date, on the consumer side, messages are delivered whenever an idle consumer is available. In effect, the broker controls the rate of delivery; usually, the next…

Spring for Apache Kafka 2.1.3, Spring Integration Kafka 3.0.2 are Available

Releases | February 22, 2018 | ...

I am pleased to announce that Spring for Apache Kafka 2.1.3.RELEASE is available.

In addition, the Spring Integration extension spring-integration-kafka 3.0.2.RELEASE is also available.

While these are point releases in the 2.1.x (and 3.0.x) lines; they introduce some important new features:

Spring for Apache Kafka

Change Log

  • Request/Reply messaging with the ReplyingKafkaTemplate

  • pause/resume on listener containers

  • default @KafkaHandler method for multi-method @KafkaListener

  • ChainedKafkaTransactionManager to improve transaction synchronization scenarios

Spring Integration Kafka

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