Unsere Microservices verwenden JDK 8 Spring Cloud Stream API mit Spring Boot 1.5.2.RELEASE zum Erstellen von Nachrichten in der Kafka-Warteschlange. Für die Verbraucher-API verwenden wir Spring Kafka 1.1.2.RELEASE, speziell @KafkaListener
. Nachrichtentyp Anwendung jsonSpring Cloud Stream Producer fügt bei der Verwendung von Spring Kafka Consumer "Junk" -Zeichen hinzu
Wir bemerken, dass die Verbraucher einige Junk-Zeichen auf die Nachricht in der Nähe des „content“ angehängt haben, die im Folgenden angegeben: JunkCharsInConsumer
Bei der Verwendung von Vanille Apache Kafka Client API 0.10.2.1 mit JDK 8, wir sehen immer noch Junk-Zeichen in den empfangenen Nachrichten.
Nur wenn wir Cloud Stream SINK
verwenden, können wir die Nachrichten ohne irgendwelche Junk-Zeichen abrufen.
Ist dies ein Problem oder gibt es eine Einstellung im Producer/Consumer, die wir möglicherweise verpassen? Bitte geben Sie an, wenn zusätzliche Details erforderlich sind.
Dank
Vielen Dank für Ihre Antwort und die Details, Gary. Nur damit Sie wissen, dass das Problem nicht behoben wurde. Also haben wir vorerst die Antwort auf Byte-Array in Consumer konvertiert und haben einen Zeichenvergleich durchgeführt, den Inhalt von dem ersten Zeichen abholend, von dem wir wissen, dass es nach dem Müll sauber ist. Langfristiger Ansatz, um StreamListener im Consumer zu verwenden ist – barsakus
Sie müssen etwas falsch konfiguriert haben - ich kann Ihnen versichern, dass RAW 'headerMode' diese Header nicht zum Nachrichtentext hinzufügen wird. –