1

Ich habe ein Szenario, in dem ich die letzte Nachricht in einem Kafka-Thema beim Start verbrauchen möchte. Wenn zum Beispiel ein "deal_config" -Thema mit einer einzelnen Partition vorhanden ist und drei Nachrichten wie 1 | 2 | 3 vorhanden sind, möchte ich beim Start nur die Nachricht 3 verwenden. Wenn ich startOffset auf latest setze, kann ich nur die neuen Nachrichten konsumieren. Im Idealfall sollte mein Consumer den Offset der letzten Nachricht in der Partition lesen und -1 davon verbrauchen.SCS - um die letzte verfügbare Nachricht in Kafka zu konsumieren

Antwort

2

Die Funktionalität von Spring Cloud-Stream-nicht ausgesetzt ist - Sie stattdessen eine @KafkaListener verwenden können, mit einem ConsumerSeekAware Zuhörer as discussed in the Spring Kafka Reference Manual.

+0

@GrayRussell. Kann ich KafkaListener in einem Projekt verwenden, das S-C-S Kafka-Binder verwendet? Mein Bedürfnis ist, mit Offset für einige Topics zu spielen, und alle anderen Konsumenten lesen immer den neuesten Offset. Also habe ich StreamListner und KafkaListener (mit consumerseekaware) in dem Projekt verwendet, das spring-cloud-stream-binder-kafka 1.2.1 und spring-kafka 1.2.1 (overrided) Version hat. Aber der kafkaListner funktioniert nie und es gibt keine Ausnahme. Nachrichten werden nicht konsumiert und meine verarbeiteten Methoden werden nicht aufgerufen. – Hariharan

+0

Ja; Sie können beide in der gleichen Anwendung verwenden. Stellen Sie eine neue Frage, die Code-Schnipsel zeigt, was nicht für Sie funktioniert. –

+0

Danke @GrayRussell Ich bin in der Lage, beides zu tun – Hariharan

Verwandte Themen