Wenn ich den kafka
Verbraucher in einem Thread laufen lasse, ohne ihn von außen zu manipulieren, wie den Verbraucher einzuschalten oder ihn aufzuwecken, ist es notwendig, die WakeupException
richtig zu behandeln? Und was ist ein guter Ansatz, um damit umzugehen?Kafka Consumer WakeupException Handhabung Java
Der Verbraucher läuft auf einem Webservice, um ständig Daten aus einer Warteschlange zu ziehen und sollte nie damit aufhören. Außerdem hat der Dienst keinen Ruhe- oder Ruhezustand. In der Dokumentation von Kafka wird darauf hingewiesen, dass die Ausnahme nur ausgelöst wird, wenn der Kafka-Konsument von einem anderen Thread blockiert wird, aber das wird niemals passieren. https://kafka.apache.org/0100/javadoc/org/apache/kafka/common/errors/WakeupException.html
Kafka Version 0.10.0.0
catch (WakeupException e) {
LOG.info("Kafka Consulmer wakeup exception");
// Ignore exception if closing
if (!closed.get()) {
throw e;
}
} finally {
consumer.close();
}
Grüße, Rakesh