No es una excepción está llegando al enviar el mensaje cuando Kafka se ha reducido

Deepank Porwal:

Tengo escenario en el que Kafka se está abajo al azar. Cuando envío un mensaje a kafka y es por lo que quiero para manejar por separado. Pero cuando envío de mensajes a kafka mientras que se ha reducido, no es una excepción y está llegando, así que no soy capaz de identificar si Kafka no está funcionando o no. ¿Hay alguna manera puedo coger excepción y el mensaje perdido.

Tengo un código muy básico

public static void main(String[] args) {
    String topicName = "test-1";

    Properties props = new Properties();
    props.put("bootstrap.servers", "localhost: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<>(props);

    for (int i = 0; i < 10; i++) {
        producer.send(new ProducerRecord<>(topicName, Integer.toString(i), Integer.toString(i)));
    }
    System.out.println("Message sent successfully");
    producer.close();
}
Giorgos Myrianthous:

Es necesario enviar una llamada sincrónica con el fin de obtener una respuesta de vuelta Kafka.

for (int i = 0; i < 10; i++) {
    ProducerRecord<String, String> record = 
              new ProducerRecord<>(topicName, Integer.toString(i), Integer.toString(i));
    try {
           producer.send(record).get();
    } catch (Exception e) {
           e.printStackTrace();
           // Handle message that has failed
    }
}

Método .get()devolverá la respuesta de Kafka. Se producirá una excepción cuando el registro no ha podido ser empujado a Kafka. Cuando el registro ha sido enviado con éxito, a continuación, una RecordMetadataserá devuelto.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=189079&siteId=1
Recomendado
Clasificación