Java 卡夫卡侦听器-在Spring引导中配置侦听器?

Java 卡夫卡侦听器-在Spring引导中配置侦听器?,java,spring-boot,apache-kafka,interceptor,Java,Spring Boot,Apache Kafka,Interceptor,我正在尝试配置Confluent-ConsumerTimestampsInterceptor以支持Confluent-KAFKA复制,并配置了JavaSpring引导应用程序,如下所述 应用程序属性 #consumer timestamp interceptor interceptor.classes=io.confluent.connect.replicator.offsets.ConsumerTimestampsInterceptor timestamp.producer.security.

我正在尝试配置Confluent-ConsumerTimestampsInterceptor以支持Confluent-KAFKA复制,并配置了JavaSpring引导应用程序,如下所述

应用程序属性

#consumer timestamp interceptor
interceptor.classes=io.confluent.connect.replicator.offsets.ConsumerTimestampsInterceptor
timestamp.producer.security.protocol=PLAINTEXT
timestamp.producer.sasl.mechanism=NONE
#timestamp.producer.ssl.endpoint.identification.algorithm=
#timestamp.producer.sasl.jaas.config=
src.consumer.group.id=lkc-302y2
Consumer.java

package com.example.demo.service;

import org.springframework.kafka.annotation.KafkaListener;
import org.springframework.stereotype.Service;

import com.example.demo.model.ProductKafka;

import java.io.IOException;
import java.util.ArrayDeque;
import java.util.LinkedList;
import java.util.Queue;
import java.util.logging.Logger;

@Service
public class Consumer {
    private static final Logger LOGGER = Logger.getLogger(Consumer.class.getName());
    public static ArrayDeque<ProductKafka> consumeQueue = new ArrayDeque<>();
    
    @KafkaListener(autoStartup = "false", topics = "#{'${spring.kafka.topics}'.split('\\\\ ')}", groupId = "#{'${spring.kafka.groupId}'}")
    public void consume(ProductKafka productKafka) throws IOException {
        consumeQueue.offer(productKafka);

        LOGGER.info(String.format("#### -> Logger Consumed message -> %s", productKafka.toString()));
        System.out.printf("#### -> Consumed message -> %s", productKafka.toString());
    }
}
package com.example.demo.service;
导入org.springframework.kafka.annotation.KafkaListener;
导入org.springframework.stereotype.Service;
导入com.example.demo.model.ProductKafka;
导入java.io.IOException;
导入java.util.ArrayDeque;
导入java.util.LinkedList;
导入java.util.Queue;
导入java.util.logging.Logger;
@服务
公共类消费者{
私有静态最终记录器Logger=Logger.getLogger(Consumer.class.getName());
public static ArrayDeque consumerqueue=new ArrayDeque();
@KafkaListener(autoStartup=“false”,topics=“{${spring.kafka.topics}.split('\\\\')}”,groupId=“{${spring.kafka.groupId}”)
公共无效消费(ProductKafka ProductKafka)引发IOException{
consumerqueue.offer(productKafka);
LOGGER.info(String.format(“#####->记录器使用的消息->%s”,productKafka.toString());
System.out.printf(“####->已消费消息->%s”,productKafka.toString());
}
}
下面是项目结构

但是它不起作用

我们的卡夫卡管理员提到,虽然我添加了拦截器,但卡夫卡消费者没有配置为使用拦截器


我不知道如何让消费者使用拦截器

你的src配置中有containerFactory吗?你不需要为那些属性加前缀吗?我不知道我到底缺少了什么。不,我没有像文档中那样的containerFactory,他们提到了spring.kafka.producer属性。有什么建议吗?我需要在containerFactory上更新什么?我已经配置了consumer和producer,并且应用程序本身正在工作,但是正在尝试引入拦截器。您的src配置中有containerFactory吗?您不需要
spring.kafka.consumer
为这些属性添加前缀吗?我不知道我到底错过了什么。不,我没有像文档中那样的containerFactory,他们提到了spring.kafka.producer属性。有什么建议吗?我到底需要在containerFactory上更新什么?我已经配置了消费者和生产者,应用程序本身正在工作,但是正在尝试引入拦截器。