我创建了一个Spring引导应用程序,它将消息发送到Kafka队列(使用spring集成kafka支持)。我想发送任意的json序列化对象。
有没有办法在我的spring boot应用程序中获得/注入json-de-/序列化程序?或者如何即席反/序列化一个对象?
应用序列化有哪些好的实践?
发布于 2018-01-29 22:10:17
Apache Kafka在其主题中存储和传输字节数组。它附带了许多内置(反)序列化程序,但不包括JSON序列化程序。幸运的是,Spring Kafka框架包括一个支持包,其中包含一个在幕后使用Jackson ObjectMapper的JSON (反)序列化器。
您可以像这样添加一个配置文件
@Configuration
public class KafkaConfiguration {
@Bean
public ConsumerFactory<String, Operation> consumerFactory(KafkaProperties kafkaProperties) {
return new DefaultKafkaConsumerFactory<>(kafkaProperties.buildConsumerProperties(), new StringDeserializer(), new JsonDeserializer<>(Operation.class));
}
@Bean
public ConcurrentKafkaListenerContainerFactory<String, Operation> kafkaListenerContainerFactory(ConsumerFactory<String, Operation> consumerFactory) {
ConcurrentKafkaListenerContainerFactory<String, Operation> factory = new ConcurrentKafkaListenerContainerFactory<>();
factory.setConsumerFactory(consumerFactory);
return factory;
}
}将Operation替换为您想要反序列化的类。
https://stackoverflow.com/questions/48502892
复制相似问题