Kafka 发送消息-啵啵啵漫画

– Start 在上个例子中,我们使用了脚本来发送消息,来吧,让我们来自己写点代码来发送消息。首先还是按照上个例子,先启动 ZooKeeper 和 启动 Kafka borker。

创建 Maven 工程

首先在 Eclipse 中创建一个 Maven 工程,如果你还不了解如何创建 Maven 工程,请点击此处。创建 Maven 工程后,把下面的依赖添加到你的 POM 中。

<dependency>    <groupId>org.apache.kafka</groupId>    <artifactId>kafka-clients</artifactId>    <version>1.1.0</version></dependency>

发送消息

package shangbo.kafka.example1;import java.util.Properties;import java.util.concurrent.Future;import org.apache.kafka.clients.producer.Callback;import org.apache.kafka.clients.producer.KafkaProducer;import org.apache.kafka.clients.producer.Producer;import org.apache.kafka.clients.producer.ProducerRecord;import org.apache.kafka.clients.producer.RecordMetadata;public class App {    public static void main(String[] args) {        // Producer 配置信息,应该配置在属性文件中        Properties props = new Properties();        //指定要连接的 broker,不需要列出所有的 broker,但建议至少列出2个,以防某个 broker 挂了        props.put("bootstrap.servers", "localhost:9092");        props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");        props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");        props.put("retries", 3); // 如果发生错误,重试三次        props.put("acks", "1"); // 0:不应答,1:leader 应该,all:所有 leader 和 follower 应该        // 创建 Producer        Producer<String, String> producer = new KafkaProducer<String, String>(props);        // send 方法是异步的,方法返回并不代表消息发送成功        producer.send(new ProducerRecord<String, String>("topic0", "message 1"));        // 如果需要确认消息是否发送成功,以及发送后做一些额外操作,有两种办法        // 方法 1: 使用 callback        producer.send(new ProducerRecord<String, String>("topic0", "message 2"), new Callback() {            public void onCompletion(RecordMetadata metadata, Exception exception) {                if(exception != null) {                    System.out.println("send message2 failed with " + exception.getMessage());                } else {                    // offset 是消息在 partition 中的编号,可以根据 offset 检索消息                    System.out.println("message2 sent to " + metadata.topic() + ", partition " + metadata.partition() + ", offset " + metadata.offset());                  }            }        });        // 方法2:使用阻塞        Future<RecordMetadata> sendResult = producer.send(new ProducerRecord<String, String>("topic0", "message 3"));        try {            // 阻塞直到发送成功            RecordMetadata metadata = sendResult.get();            System.out.println("message3 sent to " + metadata.topic() + ", partition " + metadata.partition() + ", offset " + metadata.offset());        } catch(Exception e) {            System.out.println("send message3 failed with " + e.getMessage());        }        // producer 需要关闭,放在 finally 里        producer.close();    }}

你有没有想过一种情况,就是当 Producer 发送消息后突然断网了,那消息到底发送成功了还是失败了呢?请看下一篇。

「小和甜酒X阿呀被发现了Aya」温泉酒吞与源頼光双人 [193P4V-1.72GB]
2023-05-28
兔子Zzz不吃胡萝卜 杀机[23P-265MB]
2023-05-21
任天堂要求DL下架斯普拉遁同人黄油、日本宅男吐槽上年纪看不了严肃动画
2023-05-23
桃昔 - d.va 【15P - 39MB】
2022-07-07
Vol.574 樱桃小犊子[51P/166M]
2023-03-04
《电锯人》电次1/7手办接受预约。
2023-05-23
故事发生在名为“交界地”的地方,这里的人们拥戴永恒女王玛丽卡。也受到玛丽卡所祝福。所有接受祝福的人瞳孔中都有黄金一般的光芒,但也有些人因为各种原因失去了祝福,眼中的光芒消逝。这些人就被称为褪色者,并因此被逐出交界地。某天因为作为祝福核心的法环被击碎,祝福受到污染的半神们为了收集法环碎片发动了一场又一场的战争,导致世界变的满目疮痍,褪色者们因为法环破碎恢复了祝福,收集艾尔登法环碎片,挑战半神,而玩家们扮演的角色便是褪色者。真的挺好玩的 地图都是开放式 而且真的很大 它是阶梯式的地图 一层又一层
2022-10-16
「Booty Queen」Bimilstory Vol.02 Lady doctor Academy hospital [138P3V-5.67GB]
2023-06-14
荣耀magic3价格https://www.hihonor.com/cn/phones/honor-magic3-pro-series/在不久前举行的荣耀新品发布会上,荣耀带来了新机荣耀X40 GT,不过此前传闻将会登场的荣耀畅玩40 Plus并没有到来。不过该机的相关信息此前已经在网 络上得以曝光,而近日,该机的真机照片也在网 络上流传。近日,有数码博主放出了两张荣耀畅玩40Plus的真机图片。根据该博主的说法,有荣耀线下店已经把该机直接开箱了。从图片中可以发现,新款荣耀畅玩40 Plus背部
2022-10-17
由高松美咲创作的漫画《跃动青春》宣布了TV动画化决定的消息。有关本作动画的更多消息,还将于日后公开。
2022-10-28