发送消息+同步发送
依赖
<dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> </dependency>
代码
package com.perfect.kafka; import org.apache.kafka.clients.producer.*; import org.junit.jupiter.api.Test; import java.util.Properties; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; public class KafkaSynchronizedTest { @Test public void sendmessagetest(){ Properties props = new Properties(); props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,"localhost:9092"); props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG,"org.apache.kafka.common.serialization.StringSerializer"); props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,"org.apache.kafka.common.serialization.StringSerializer"); KafkaProducer<String,String> p = new KafkaProducer<String, String>(props); for(int i=0;i<10;i++){ Future<RecordMetadata> future = p.send(new ProducerRecord<>("topic2", "message" + i), new Callback() { @Override public void onCompletion(RecordMetadata recordMetadata, Exception e) { if(e==null){ System.out.println(recordMetadata.partition()+"---"+recordMetadata.offset()); } } }); RecordMetadata metadata = null; try { metadata = future.get(); } catch (InterruptedException e) { e.printStackTrace(); } catch (ExecutionException e) { e.printStackTrace(); } System.out.println(metadata); } p.close(); } }