您的位置:首页 > 运维架构 > Apache

新手学习kakfa消息推送问题记录篇

2018-08-03 15:12 393 查看

今天去网上找了几篇kafka入门的文章看了下,linux配置好了kafka,zookeeper环境,测试消息发送接受都正常,于是开始动手写java代码,代码如下:

        Properties pro=new Properties();
        pro.put("bootstrap.servers","ip:9092");
        pro.put("acks", "all");
        pro.put("retries", 0);
        pro.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
        pro.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
        producer = new KafkaProducer<String, String>(pro);
        ProducerRecord<String, String> record=new ProducerRecord<>("test","收到消息2");
        producer.send(record);

尝试发送了几次都接收不到消息,对比了一下几篇文章的代码,发现没有关闭生产者,增加producer.close()就行了。 同时看了下源码,producer在调用close方法时判断了进程是否关闭,如果关闭则认为发送消息完毕了,于是将原先存在缓冲区的消息推送出去,关闭进程,还可以调用producer.send(record).get()关闭进程。

初学kafka做个记录

(adsbygoogle = window.adsbygoogle || []).push({});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息