gpt4 book ai didi

java - Kafka 宕机时如何处理 IOException?

转载 作者:搜寻专家 更新时间:2023-10-30 20:54:03 26 4
gpt4 key购买 nike

我正在尝试发布消息,但 Apache Kafka 已关闭。我应该如何处理这种紧急情况?

KafkaProducer::send() 方法不会抛出任何可以处理的异常。生产者吞下它们并记录错误,所以我收到了这样的消息,一切都挂起,直到 Kafka 再次连接。

2014-03-31 09:38:23.752 ERROR o.a.kafka.common.network.Selector - Error in I/O: 
java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.7.0_51]
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739) ~[na:1.7.0_51]
at org.apache.kafka.common.network.Selector.poll(Selector.java:205) ~[kafka-clients-0.8.1.jar:na]
at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:212) [kafka-clients-0.8.1.jar:na]
at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:150) [kafka-clients-0.8.1.jar:na]
at java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]

最佳答案

Producer.send(...) 返回的 future 调用 get() ,或者如果您不想阻止您的代码,请传递 callback .

尝试{
producer.send(new ProducerRecord("mytopic", 键, 值))
。得到();//阻塞直到确认
} catch (异常 e){
//处理消息未被确认
}

关于java - Kafka 宕机时如何处理 IOException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22756144/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com