簡體   English   中英

從 Kafka 主題中消費字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM