【问题标题】:Getting the entries from a Kafka topic?从 Kafka 主题中获取条目?
【发布时间】:2021-03-18 04:05:08
【问题描述】:

我已经使用必须通过 Kafka 集群进行通信的数据库实现了两个服务。 我已经设置了第一个使用 KafkaTemplate 从主题中的 POST 方法发送他的条目。 我在终端中看到条目正在进入该主题。 如何从 Kafka 主题中获取它们并生成 POJO 或 DB 条目?

我已经像这样在第一个服务中实现了@KafkaListener,但不起作用:

@KafkaListener(topics = "USERS",groupId = "group_id")
public void listen(User user){
    secondService.save(user);
}

【问题讨论】:

    标签: java json apache-kafka


    【解决方案1】:

    这行得通,伙计们!

    User user = new ObjectMapper().readValue(message,User.class);
        cachingService.save(user);
    

    【讨论】:

    • 1) 不要为每条记录创建新的 ObjectMapper,将其移动到字段中。 2) message 是什么类型的对象?如果您正确定义了反序列化器,则无需执行此操作 - 请参阅 Spring Kafka docs on JSON deserialization
    • @OneCricketeer 它是一个字符串。此消息来自 KafkaListener
    • 在问题中,您的 Kafkalistener 参数是一个用户对象,如果您为它定义了反序列化器,它将起作用
    猜你喜欢
    • 2015-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-14
    • 2019-02-10
    • 2020-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多