kafka生产者详解

一、发送类型

  同步发送:使用send()方法发送,它会返回一个Future对象,调用get()方法进行等待,就可以知道消息是否发送成功

//发送消息
  try {
    RecordMetadata recordMetadata = producer.send(record).get();   
    System.out.println(recordMetadata.offset());//获取偏移量
    }catch (Exception e){
        e.printStackTrace();
    }            

  异步发送:调用send()方法,并指定一个回调函数,服务器在返回响应时调用函数

复制代码
//发送消息
try {
    producer.send(record, new Callback() {
    @Override
    public void onCompletion(RecordMetadata recordMetadata, Exception e) {
    if(e!=null){
    e.printStackTrace();
     }
    System.out.println(recordMetadata.offset());
    }
});
}catch (Exception e){
     e.printStackTrace();
}
复制代码

 

posted @   佛系粥米  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示