kafka生产者客户端开发

141 阅读1分钟

maven

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

一个正常的生产逻辑需要具备以下几个步骤:

  1. 配置生产者客户端参数及创建相应的生产者实例
  2. 构建待发送的消息
  3. 发送消息
  4. 关闭生产者实例
		Properties props = new Properties();
        props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,"192.168.94.151:9092");
        props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
        props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());

         //1. 创建一个生产者对象
        KafkaProducer<String, String> producer = new KafkaProducer<>(props);

		//2. 构造所需要发送的消息
		ProducerRecord<String, String> producerRecord = new ProducerRecord<>("test001", UUID.randomUUID().toString());

		//3. 调用send方法
        Future<RecordMetadata> future = producer.send(producerRecord, (metadata, exception) -> {
            if (Objects.isNull(exception)) {
                System.out.println(metadata.offset());
                System.out.println("success");
            } else {
                System.out.println("error");
            }
        });

        RecordMetadata recordMetadata = future.get();
        System.out.println(recordMetadata.offset());

		//4. 关闭
        producer.close();