![](/img/trans.png)
[英]Consume String and JSON message from same kafka topic - issue with deserialization
[英]Consume String from Kafka Topic
我有一個關於從 Kafka 使用 JSON String 的問題:如果我只是使用一個 String 然后將它映射到 DTO,我是否需要為我的消費者添加一個 Config class 以進行反序列化?
@Service
public class Consumer {
private static final Logger logger = LoggerFactory.getLogger(Consumer.class);
@Autowired
OBTMapper obtMapper;
@KafkaListener(topics = "foo" , groupId = "group_id")
public void receive(String message) {
//Map String to DTO
obtMapper.Mapper(message);
logger.info("Message received %s", message);
}
一般什么時候必須添加此配置 class? 我知道當我想發送 object 時,我需要先在生產者配置中對其進行序列化並發送,然后在消費者中對其進行反序列化,但如果我只是生成一個字符串並在之后使用它,我是否還需要這樣做?
只有二進制數據通過 Kafka,所以是的,我們必須始終在生產時序列化,在消費時反序列化。
您不需要連接自己的 ObjectMapper,但是是的,您需要一個反序列化器。 Jackson ObjectMapper反序列化字符串/字節並對其進行解析。
Spring Kafka 原生提供 JSON 反序列化。 然后你可以在方法參數中使用你的 POJO 而不僅僅是一個 String
https://docs.spring.io/spring-kafka/reference/html/#json-serde
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.