我正在将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。
org.springframework.kafka.support.serializer.JsonSerializer
org.springframework.kafka.support.serializer.JsonDeserializer
是否可以通过Spring上下文注入ObjectMapper?我已经配置了一个ObjectMapper,我想在序列化器/反序列化器中重复使用。
您可以配置JsonSerializer和JsonDeserializer作为@Bean。ObjectMapper向他们注入期望。并在DefaultKafkaProducerFactory和DefaultKafkaConsumerFactorybean定义中使用这些bean :
JsonSerializer
JsonDeserializer
@Bean
ObjectMapper
DefaultKafkaProducerFactory
DefaultKafkaConsumerFactory
@Bean public ProducerFactory<Integer, String> producerFactory() { DefaultKafkaProducerFactory<Integer, String> producerFactory = new DefaultKafkaProducerFactory<>(producerConfigs()); producerFactory.setValueSerializer(jsonSerializer()); return producerFactory; }