2016-11-08 3 views
0

Ich möchte ein gemeinsames Projekt erstellen (mithilfe von Federwolkenstrom), um Nachrichten an verschiedene (Konsumenten-) Projekte entsprechend dem Nachrichteninhalt dynamisch weiterzuleiten. (rabbitmq als der Nachrichtenbroker)Spring cloud stream, um Nachrichten dynamisch zu routen

unterstützt Frühling Cloud-Stream es? wenn nicht, irgendeine vorgeschlagene Weise, das zu erreichen? thx

Antwort

1

Das erreichen Sie, indem Sie die Eigenschaft spring.cloud.stream.dynamicDestinations auf eine Liste von Zielnamen setzen (wenn Sie den Namen bereits kennen) oder sie leer lassen. Die BinderAwareChannelResolver kümmert sich um das dynamische Erstellen/Binden des ausgehenden Kanals für diese dynamischen Ziele.

Es ist eine aus der Box router zur Verfügung, die die ähnliche Sache macht.

+0

Vielen Dank für Ihre Antwort. Rabbitmq hat Routing-Schlüssel, um das dynamische Routing zu tun, unterstützt Feder-Cloud-Stream dies? – JasonS

+0

Wenn 'dynamicDestinations' festgelegt wird, werden diese Zielnamen bei" Kaninchen "als Routing-Schlüssel festgelegt (wenn Partitionierung beteiligt ist, werden Routingschlüssel dynamisch basierend auf dem Partitionsschlüsselausdruck und den Zielnamen berechnet) für den ausgehenden Nachrichtenproduzenten. –

+0

@IlayaperumalGopinathan Leider habe ich das nicht vollständig verstanden. Wo genau im Code spezifiziere ich den dynamischen Themennamen? Geht der Themenname in den Namen des Antwortkanals ein? – Ajay

Verwandte Themen