Hello.

I set up the Kafka testbed environment on my VirtualBox, which simply has a
Kafka broker.

I tested the simple consumer & producer scripts, aka
kafka-console-consumer.sh and bin/kafka-console-producer.sh respectively,
and both of them worked fine. I could see the output from the consumer side
whenever typing any words on the producer.

After that, I moved to test a simple java kafka producer/consumer. I copied
and pasted the example source code for producer from
http://kafka.apache.org/090/javadoc/index.html?org/apache/kafka/clients/producer/KafkaProducer.html,
and yeah, unfortunately, it seems not working well; no output was printed
by the above consumer script. There was even no error log on Eclipse.

I really don't know what the problem is... I think that the properties for
both zookeeper and kafka seems fine, since the example scripts worked well,
at least.

I attached my tested source code:
======================================================================
 import java.util.Properties;

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.common.KafkaException;
import org.apache.kafka.common.errors.TimeoutException;

public class ProducerExample {
public static void main(String[] args) throws Exception, TimeoutException,
KafkaException {
Properties props = new Properties();
props.put("bootstrap.servers", "10.10.0.40:9092");
props.put("acks", "all");
props.put("retries", 0);
props.put("batch.size", 16384);
// props.put("linger.ms", 1);
props.put("buffer.memory", 33554432);
props.put("key.serializer",
"org.apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer",
"org.apache.kafka.common.serialization.StringSerializer");

Producer<String, String> producer = new KafkaProducer<String,
String>(props);

try {
for (int i = 0; i < 10; i++) {
producer.send(new ProducerRecord<String, String>("test", 0,
Integer.toString(i), Integer.toString(i)));
}
} catch (TimeoutException te) {
System.out.println(te.getStackTrace());
te.getStackTrace();
} catch (Exception ke) {
System.out.println(ke.getStackTrace());
ke.getStackTrace();
}

producer.close();
}
}
======================================================================

Any advice would really be helpful. Thanks in advance.

Best regards

Kim

Reply via email to