2017-03-20 3 views
1

Ich verwende Spring-Kafka 1.1.2. Immer wenn ich die send-Methode von KafkaTemplate aufruft, wird eine ListenableFuture zurückgesendet.KafkaTemplate blockt, obwohl eine ListenableFuture zurückgegeben

Mit Blick auf den Quellcode von KafkaProducer scheint es tatsächlich so gedacht zu sein - ich habe Aufrufe an Methoden namens "waitOnMetadata" gefunden.

Fehle ich etwas offensichtlich? Wie kann ich verhindern, dass beim Senden eines Datensatzes an Kafka blockiert wird?

+0

Spring Kafka basiert vollständig auf dem Apache Kafka. Wenn Sie also sehen, dass 'KafkaProducer' blockiert ist, ist dies für Spring Kafka keine Frage. –

Antwort

0

Der Kafka-Producer-Code wird im aufrufenden Thread aufgerufen; Die hörbare Zukunft ist die Bestätigung von Kafka, dass die Nachricht empfangen wurde.

Es gibt ein reactor-kafka Projekt, das helfen könnte.

Wir beabsichtigen, eine zukünftige Version von Spring Kafka darauf zu basieren.

+0

Danke. Es wäre großartig, diese Informationen sowohl in der JavaDoc als auch in der Referenzdokumentation zu haben. – nonpolar

Verwandte Themen