Ich habe Schwierigkeiten, meinen Kopf um das Konzept zu wickeln.Apache Camel Produzenten und Verbraucher
Ich versuche, einen Endpunkt zu implementieren, der auf einem TCP-Port für eingehende Nachrichten in einem proprietären Format überwacht, die dann die Nachricht transformieren würde und Kamel übernehmen die Weiterleitung und Routing.
Habe ich richtig verstanden, dass der Producer verantwortlich für das Senden von Nachrichten in die Endpoint
und die Consumer
empfängt sie von diesem Endpunkt?
Bei der Untersuchung der Schnittstellen konnte ich den Nachrichtenfluss zwischen diesen Objekten, insbesondere im Consumer-Bereich, nicht feststellen. Consumer
definiert nur start()
und stop()
Methoden ...
Wenn einen Test auf einem Skelett Implementierung einrichten, aufgerufen Camel
createProducer()
auf dem Endpunkt und process()
auf dem Hersteller-Objekt. Danach kehrte es zurück, ohne irgendetwas mit dem Verbraucher oder dem damit verbundenen Prozessor zu tun.
Könnte jemand mich in die richtige Richtung?
Schöne, klare Erklärung Dank. Die Begriffe sind oft kontraintuitiv, da ein typischer Benutzer von camel eher in routes und messageExchanges denkt, als eine neue camel-Komponente zu erstellen. Aus der Sicht eines messageExchange sind die Begriffe falsch herum. Ein Consumer erstellt eine NachrichtExchange, während ein Producer eine NachrichtExchange verwendet. –
Als Neuling zu Camel, bin ich wirklich verwirrt durch diese Antwort. Wenn ich auf die Schnittstelle "org.apache.camel.Producer" schaue, sind die einzigen Verträge, die es spezifiziert, "createExchange" -Methoden. Und wenn man sich etwas wie den 'EventDrivenPollingConsumer' ansieht, ist das einzige, was mit einem Exchange geschieht,' process' it. Passiert ein Exchange nicht auf einer Route - dafür arbeiten Prozessoren, das war mein Eindruck. – Snekse
@Snekse Der beschreibende Teil der Antwort sagt genau dies. Aber auf jeden Fall glaube ich nicht, dass diese Technik für ein konzeptionelles Verständnis von Produzenten und Konsumenten von großer Bedeutung ist. – chrisjleu