gre*_*met 6 java apache-kafka kafka-producer-api
我在我的Windows PC上构建了一个小测试环境,并记下以下代码来测试kafka(使用org.apache.kafka中的kafka_2.10:0.9.0.1).
package iii.functiontesting;
import java.text.ParseException;
import java.util.Properties;
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerRecord;
/**
* Hello world!
*
*/
public class test4
{
public static void main( String[] args ) throws ParseException
{
Properties producerProps=new Properties();
producerProps.put("bootstrap.servers", "localhost:9092");
producerProps.put("serializer.class",org.apache.kafka.common.serialization.StringSerializer.class.getName());
producerProps.put("key.serializer",org.apache.kafka.common.serialization.StringSerializer.class.getName());
producerProps.put("value.serializer",org.apache.kafka.common.serialization.StringSerializer.class.getName());
producerProps.put("request.required.acks","1");
KafkaProducer<String,String> kafkawriter= new KafkaProducer<String,String>(producerProps);
ProducerRecord<String,String> msg=new ProducerRecord<>("TEST3","ImKey","teststring1");
kafkawriter.send(msg);
}
}
Run Code Online (Sandbox Code Playgroud)
我使用以下命令检查消息是否正确写入队列
D:\ Work\kafkaenv\kafka_2.10-0.9.0.1\bin\windows>.\ kafka-console-consumer.bat --zookeeper localhost:2181 --topic TEST3 - from-beginning
但是,我发现kafka-console-consumer没有显示任何内容.
我怀疑我的kafka服务器运行不正常,所以我使用console-producer进行测试.
D:\ Work\kafkaenv\kafka_2.10-0.9.0.1\bin\windows>.\ kafka-console-producer.bat --broker-list localhost:9092 --topic TEST3
AAAAA
这次我可以看到aaaaa清楚地显示在控制台消费者之下.我无法弄清楚会发生什么.谁能帮我?
在终止程序之前,您必须调用KafkaProducer#flush[或] KafkaProducer#close方法.
实际上,生产者在将记录发送给代理之前缓冲记录.见buffer.memory和batch.size在卡夫卡生产者配置
kafkawriter.send(msg);
kafkawriter.close();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8076 次 |
| 最近记录: |