在 Kafka 中找不到类 java.lang.String 的方法

问题描述 投票:0回答:1

我有生产者和消费者配置

制作人

@Bean
public KafkaTemplate<String, BeltEventDescription> kafkaBeltEventDescriptionTemplate(final ProducerFactory<String, BeltEventDescription> producerFactory) {
    return new KafkaTemplate<>(producerFactory);
}

具有配置属性

@Bean
public ProducerFactory<String, BeltEventDescription> producerBeltEventDescriptionFactory() {
    return new DefaultKafkaProducerFactory<>(Map.of(
            ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapAddress,
            ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class,
            ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, JsonSerializer.class
    ));
}

消费者

@Bean
public KafkaConsumer<String, String> kafkaStringConsumer() {
    return new KafkaConsumer<>(consumerFactory(beltGroupId).getConfigurationProperties());
}

带有配置道具

private ConsumerFactory<String, BeltEvent> consumerFactory(final String groupId) {
    return new DefaultKafkaConsumerFactory<>(Map.of(
            ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapAddress,
            ConsumerConfig.GROUP_ID_CONFIG, groupId,
            ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class,
            ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, JsonDeserializer.class,
            ConsumerConfig.HEARTBEAT_INTERVAL_MS_CONFIG, 1000,
            ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG, 10000,
            ConsumerConfig.GROUP_INSTANCE_ID_CONFIG, ("SchedulerCoordinator-" + UUID.randomUUID()))
    );
}

但是当我尝试发送消息或监听时,我不知道到底是什么失败了,我收到了消息

监听器失败 找不到类 java.lang.String

的方法

怎么了?

java apache-kafka json-deserialization
1个回答
0
投票

您的侦听器配置(@KafkaListener)丢失,您需要使用此注释来注释您的消费者方法之一。确保它是在方法上指定的,而不是在类级别上指定的。

© www.soinside.com 2019 - 2024. All rights reserved.