gpt4 book ai didi

java - 为什么 Producer.send(record).get() 有效,但 Producer.send(record, callback) 不起作用

转载 作者:行者123 更新时间:2023-12-02 11:07:05 25 4
gpt4 key购买 nike

我正在使用 kafka 向消费者发送消息。但是由于某种原因,当我使用 Producer.send(record, new MyProducerCallback()); 向主题发送记录时,该主题的使用者不会收到该记录。但是,当我使用 RecordMetadata m = Producer.send(record).get(); 发送记录时,记录会完美到达消费者。回调方法曾经有效,但现在不再有效。有人遇到过这种情况吗?

最佳答案

您的回调将在后台线程中触发,同时您不会阻塞主线程,因此程序能够结束而不执行它。

如果您想确保回调被调用,您必须

  1. .send().get() future
  2. Thread.sleep() 主线程。

并且不要忘记 close() Producer 对象

关于java - 为什么 Producer.send(record).get() 有效,但 Producer.send(record, callback) 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50873413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com