0

Je suis assez sûr que je manque quelque chose de base ici:Flux de données du nuage de printemps | échanges Rabbit MQ ne s'embourber

J'ai créé un flux en utilisant cette topologie:

A | B | C

Ce sont les application.properties de A:

spring.cloud.stream.bindings.requestChannel.destination=events-exchange 

Ce sont les application.properties de B:

spring.cloud.stream.bindings.input.destination=events-exchange 

C est une application de puits de journal OOTB.

Avec cette configuration, A | B est correct mais C ne reçoit aucun journal. Bien que B envoie le message à l'échange correct, le lien de B | C est disjoint.

Veuillez noter que je n'ai pas fourni les propriétés ci-dessus pendant le déploiement. Ce sont des applications.properties statiques dans le pot.

Comment laisser SCDF rejoindre les applications correctement? Quelle est la meilleure pratique/approche recommandée? Nous avons de nombreuses applications qui doivent être jointes en utilisant le logiciel intermédiaire Rabbit et en recherchant une approche plus simple et moins sujette aux erreurs. Merci.

+0

Bonjour, Quelle est votre destination de liaison pour B sortants et C entrants. Étant donné que C est une application de journalisation OOTB, le fichier 'spring.cloud.stream.bindings.input.destination' du journal pointe-t-il vers le même' échange' que la sortie de B (configuré via 'spring.cloud.stream.bindings. .destination 'est lié à? –

+0

sortant de B est:' spring.cloud.stream.bindings.output.destination = work.out' – user1189332

+0

Est-ce que C a 'spring.cloud.stream.bindings.input.destination = work.out'? –

Répondre

0

Si vous définissez la sortie de B sur work.out, vous devez également remplacer l'entrée de C. Le flux de données Spring Cloud consiste à définir à la fois l'entrée et la sortie des applications adjacentes sur une valeur commune (dérivée du nom du flux/de l'application). Si vous en substituez un, les applications sont déconnectées comme vous l'avez remarqué. Bien que nous ayons l'intention de mieux prendre en charge les destinations intermédiaires prioritaires dans le futur, A | B | C repose sur le renoncement au contrôle de la liaison de input/output au flux de données Spring Cloud (vous pouvez le remplacer, mais comme vous l'avez remarqué, vous devez être explicite à la fois prend fin). Au lieu de renommer les destinations en cours de flux, vous pouvez utiliser les destinations nommées: http://docs.spring.io/spring-cloud-dataflow/docs/current/reference/html/spring-cloud-dataflow-stream-explicit-destination-names.html.