Kafka生产者-向Kafka中写入数据
import org.apache.kafka.clients.producer.KafkaProducer; import org.apache.kafka.clients.producer.Producer; import org.apache.kafka.clients.producer.ProducerRecord; import java.util.Properties; /** * @Description: */ public class KafkaProducerTest { public static void ProducerTest(String data){ Properties props = new Properties(); props.put("bootstrap.servers", "192.168.108.137:30019");//指定broker的地址清单 props.put("acks", "all");//所有的partition都收到消息,生产者才会收到一个服务器的成功响应 props.put("retries", 0);//生产者从服务器收到临时性错误时,生产者重发消息的次数 props.put("batch.size", 16384);//发送到同一个partition的消息会被先存储在batch中,该参数指定一个batch可以使用的内存大小 props.put("linger.ms", 1);//生产者在发送消息前等待linger.ms,为了等待更多的消息加入到batch中 props.put("buffer.memory", 33554432);//设置生产者内缓存区域的大小,生产者用它缓冲要发送到服务器的消息 props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");//必须是一个实现org.apache.kafka.common.serialization.Serializer接口的类,将key序列化成字节数组。注意:key.serializer必须被设置,即使消息中没有指定key props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");//value序列化成字节数组 Producer<String, String> producer = new KafkaProducer(props); producer.send(new ProducerRecord<>("test", data));//topic:key value producer.close(); } public static void main(String[] args) { String data="{\"entitycode\":\"test\""}"; ProducerTest(data); } }