Несовместимые типы при попытке сериализации с настройщиком производителяJAVA

Программисты JAVA общаются здесь
Anonymous
Несовместимые типы при попытке сериализации с настройщиком производителя

Сообщение Anonymous »

Я использую Spring для kafka, и я хочу использовать DefaultKafKaproDucerFactoryCustomizer , чтобы настроить фабрику продюсера, потому что мне нужен несколько значений, поэтому я начинаю с

Код: Выделить всё

  @Bean
public DefaultKafkaProducerFactoryCustomizer defaultKafkaProducerFactoryCustomizer() {
return (producerFactory) -> {
producerFactory.setKeySerializer(new StringSerializer());
};
}
< /code>
Но компилятор не счастлив < /p>
incompatible types: org.apache.kafka.common.serialization.StringSerializer cannot be
converted to org.apache.kafka.common.serialization.Serializer
Такая же проблема с (я использую Bytearrayserializer , чтобы отправить сообщение, которое не удалось понижать в DLQ)

Код: Выделить всё

  producerFactory.setValueSerializer(
new DelegatingByTypeSerializer(
Map.of(
byte[].class,
new ByteArraySerializer(),
Foo.class,
new JsonSerializer())));
< /code>
Я получил: < /p>
incompatible types: org.springframework.kafka.support.serializer.DelegatingByTypeSerializer
cannot be converted to org.apache.kafka.common.serialization.Serializer
< /code>
Но он отлично работает только < /p>
producerFactory.setValueSerializer(new JsonSerializer());
DefaultKafKaproDucerFactoryCustomizer класс определяется как это

Код: Выделить всё

@FunctionalInterface
public interface DefaultKafkaProducerFactoryCustomizer {

/**
* Customize the {@link DefaultKafkaProducerFactory}.
* @param producerFactory the producer factory to customize
*/
void customize(DefaultKafkaProducerFactory producerFactory);

}
Как решить эту проблему?>

Подробнее здесь: https://stackoverflow.com/questions/760 ... customizer

Вернуться в «JAVA»