0
카프카를 사용하고 있습니다. 이것은 내 코드입니다, 나는 카프카 서버에 메시지를 보내고 싶습니다. 토픽 이름은 "message1"이라는 메시지가있는 "west"입니다. 주제에 내 보낸 메시지를 보지 못했지만 오류가 없습니다. 잘못된 것이 있습니다. 이리?자바 코드를 통해 카프카에 메시지를 보낼 수 없습니다.
class SimpleProducer {
public static void main(String[] args) throws Exception{
Properties props = new Properties();
props.put("bootstrap.servers","172.xxxxxxxxx:9092");
props.put("serializer.class", "kafka.serializer.DefaultEncoder");
props.put("acks", "1");
props.put("retries", 1);
props.put("batch.size", 16384);
props.put("linger.ms", 0);
props.put("client.id", "foo");
props.put("buffer.memory", 33554432);
props.put("timeout.ms", "500");
props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
props.setProperty(ProducerConfig.MAX_BLOCK_MS_CONFIG, "500");
props.setProperty(ProducerConfig.RETRY_BACKOFF_MS_CONFIG, "100");
System.out.println("ready to send msg");
try {
Producer<String, String> producer = new KafkaProducer<String, String>(props);
producer.send(new ProducerRecord<String, String>("west","message1"));
System.out.println("Message sent successfully");
producer.close();
}
catch(Exception e)
{
System.out.println("Messgae doesn't sent successfully");
e.printStackTrace();
}
}
}
브로커에 쓰여지고 커밋 된 메시지를 어떻게 확인하고 있습니까? –
현재 특정 주제에 대한 메시지를 보내고 아래 명령을 사용하여 확인합니다. - bin/kafka-console-consumer.sh - 사육사 localhost : 2181 - 토픽 topic-name --from- 맨 위로 – Sagar
Java에서 주제로 메시지를 보내려면 사용자 지정 제작자를 쓰고 있습니다. 표시된 메인을 호출해도 카프카 주제에 대한 메시지가 나타나지 않으며 오류 메시지가 인쇄되지 않습니다. 메시지가 내 주제에 도착하지 않는 이유는 누구나 알 수 있습니까? – Sagar