Grz*_*rek 14 java exception connect apache-kafka
我正在尝试发布消息,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]
Run Code Online (Sandbox Code Playgroud)
调用Producer.send(...)get()返回的 future ,或者如果您不想阻止您的代码,请传递callback。
try {
producer.send(new ProducerRecord("mytopic", key, value))
.get(); // block until acknowledged
} catch(Exception e) {
// handle message wasn't acknowledged
}