Problem reading kafka headers in a RecordInterceptor after upgrading to spring-kafka 2.8

laurie

I have an application using spring boot & spring kafka that gets the delivery attempt header in a record interceptor so that I can include it in log messages. It has been working well until I upgraded to spring boot 2.6.3 and spring kafka 2.8.2 (from 2.5.5/2.7.7)

Now when I try to read the delivery attempt header it is not available. If I try and do the exact same thing within a message listener then it works fine so the header is clearly there.

This is what a simplified record interceptor and the listener container factory look like:

        @Bean
        public RecordInterceptor<Object, Object> recordInterceptor() {
            return record -> {
                int delivery = ByteBuffer.wrap(record.headers().lastHeader(KafkaHeaders.DELIVERY_ATTEMPT).value()).getInt();
                log.info("delivery " + delivery);
                return record;
            };
        }


        @Bean
        public ConcurrentKafkaListenerContainerFactory<?, ?> kafkaListenerContainerFactory(
                ConcurrentKafkaListenerContainerFactoryConfigurer configurer,
                ConsumerFactory<Object, Object> kafkaConsumerFactory) {

            ConcurrentKafkaListenerContainerFactory<Object, Object> factory = new ConcurrentKafkaListenerContainerFactory<>();
            configurer.configure(factory, kafkaConsumerFactory);
            factory.getContainerProperties().setDeliveryAttemptHeader(true);
            factory.setRecordInterceptor(recordInterceptor());

            return factory;
        }

I can't see anything in the spring docs suggesting the behaviour should have changed. Any ideas?

Gary Russell

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

How to set RecordInterceptor for all the MessageListenerContainers created by spring-kafka

Spring Kafka error after upgrading spring boot to 2.6.6

Kafka Spring Integration: Headers not coming for kafka consumer

Spring Kafka @SendTo Not Sending Headers

Kafka spring listener spring validation on headers

Spring Cloud Stream Kafka configuration not working with SASL SCRAM after upgrading to Spring Cloud 2022.x and Spring Boot 3.x

Can't establish SSL connection to Kafka after upgrading to python 3.7

Spring Kafka and Kafka Streams

Problem Serializing Spring batch Kafka ChunkRequest

how to view kafka headers

Brave Tracing in Kafka Headers

Message headers in Kafka (.NET)

Spring kafka reset aggregation after restart application

Spring Cloud Stream Kafka add headers to only one binding

Does Spring Cloud Stream Kafka supports embedded headers?

spring kafka No type information in headers and no default type provided

Conditional (content-based) routing on Kafka headers in Spring Cloud Stream

Spring Kafka Configuration for 2 different kafka cluster setups

Kafka topic not created automatically on remote kafka after spring boot start(and create on local kafka server)

Spring Kafka Producer not sending to Kafka 1.0.0 (Magic v1 does not support record headers)

Reading a topic of kafka with react

Kafka Streams how to get the kafka headers

Spring Kafka Integration for Kafka 0.9

Problem with NgStyle after upgrading angular from 5.1 to 8

Spring Integration + send 2 events to kafka

Adding Custom Headers in Kafka Message

problem path for truststore inside docker with spring boot and kafka

Spring Integration Kafka vs Spring Kafka

Avoid __TypeId__ and spring_json_header_types magic headers set by Spring Kafka

TOP Ranking

  1. 1

    Failed to listen on localhost:8000 (reason: Cannot assign requested address)

  2. 2

    Loopback Error: connect ECONNREFUSED 127.0.0.1:3306 (MAMP)

  3. 3

    How to import an asset in swift using Bundle.main.path() in a react-native native module

  4. 4

    pump.io port in URL

  5. 5

    Compiler error CS0246 (type or namespace not found) on using Ninject in ASP.NET vNext

  6. 6

    BigQuery - concatenate ignoring NULL

  7. 7

    ngClass error (Can't bind ngClass since it isn't a known property of div) in Angular 11.0.3

  8. 8

    ggplotly no applicable method for 'plotly_build' applied to an object of class "NULL" if statements

  9. 9

    Spring Boot JPA PostgreSQL Web App - Internal Authentication Error

  10. 10

    How to remove the extra space from right in a webview?

  11. 11

    java.lang.NullPointerException: Cannot read the array length because "<local3>" is null

  12. 12

    Jquery different data trapped from direct mousedown event and simulation via $(this).trigger('mousedown');

  13. 13

    flutter: dropdown item programmatically unselect problem

  14. 14

    How to use merge windows unallocated space into Ubuntu using GParted?

  15. 15

    Change dd-mm-yyyy date format of dataframe date column to yyyy-mm-dd

  16. 16

    Nuget add packages gives access denied errors

  17. 17

    Svchost high CPU from Microsoft.BingWeather app errors

  18. 18

    Can't pre-populate phone number and message body in SMS link on iPhones when SMS app is not running in the background

  19. 19

    12.04.3--- Dconf Editor won't show com>canonical>unity option

  20. 20

    Any way to remove trailing whitespace *FOR EDITED* lines in Eclipse [for Java]?

  21. 21

    maven-jaxb2-plugin cannot generate classes due to two declarations cause a collision in ObjectFactory class

HotTag

Archive