Kafka系列2:深入理解Kafka生产者( 五 )

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

  • 发送并忘记

    这是最简单的消息发送方式 , 只发送不管发送结果 , 代码样例如下:

    ProducerRecord<String String> record = new ProducerRecord<>(\"Topic\" \"k\" \"v\"); // 1
    try {
    producer.send(record); // 2
    catch (Exception e) {
    e.printStackTrace(); // 3

    这段代码要注意几点:

    1. 生产者的send()方法将ProducerRecord对象作为参数 , 样例里用到的ProducerRecord构造函数需要目标主题的名字和要发送的键和值对象 , 它们都是字符串 。 键和值对象的类型都必须与序列化器和生产者对象相匹配 。

    2. 使用生产者的send()方法发送ProducerRecord对象 。 消息会先被放进缓冲区 , 然后使用单独的线程发送到服务器端 。 send()方法会返回一个包含RecordMetadata的Future对象 , 不过此处不关注返回了什么 。

      推荐阅读