Несовместимые типы при попытке сериализации с настройщиком производителя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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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