我将 Spring Kafka 1.1.2-RELEASE 与 Spring Boot 1.5.0 RC 一起使用,并且我配置了一个扩展 org.springframework.kafka.support.serializer.JsonSerializer/org.springframework.kafka.support.serializer.JsonDeserializer 的自定义值序列化器/反序列化器类。这些类确实使用了可以通过构造函数提供的 Jackson ObjectMapper。

是否可以通过Spring上下文注入(inject)ObjectMapper?我已经配置了一个 ObjectMapper,我想在序列化器/反序列化器中重用它。

最佳答案

您可以将 JsonSerializerJsonDeserializer 配置为 @Bean s。
向它们注入(inject)所需的 ObjectMapper。并在 DefaultKafkaProducerFactoryDefaultKafkaConsumerFactory bean 定义中使用这些 bean:

    @Bean
    public ProducerFactory<Integer, String> producerFactory() {
        DefaultKafkaProducerFactory<Integer, String> producerFactory =
                new DefaultKafkaProducerFactory<>(producerConfigs());
        producerFactory.setValueSerializer(jsonSerializer());
        return producerFactory;
    }

关于java - 将 ObjectMapper 注入(inject) Spring Kafka 序列化器/反序列化器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41833110/

10-13 04:31