2017-09-27 4 views
0

Nous utilisons RabbitMQ en tant que courtier de messages. Producer1 se connecte en utilisant AMQP, Producer2 se connecte en utilisant le protocole STOMP, Consumer1 se connecte en utilisant AMQP, Consumer2 (en utilisant javascript) se connecte en utilisant STOMP via websocket.
(Producer1 et consumer1 utilise flux nuage de printemps)RabbitMQ - se connecter en utilisant AMQP et STOMP au même échange

Test1: Lorsque producer1 à l'aide AMQP envoie des messages, il est reçu dans consumer1 (AMQP) et n'a pas reçu dans consumer2 (Stomp). Le client javascript Consumer2 se déconnecte immédiatement lorsque le message de producteur1 (AMQP) est envoyé et que la file d'attente est supprimée.

Test2: Lorsque producteur2 utilisant STOMP envoie un message, il est reçu dans consumer1 (AMQP) et consumer 2 (STOMP) sans aucun problème.

Test1 - est-ce un scénario possible? Nous essayons de nous connecter au même échange dans RabbitMQ en utilisant le protocole AMQP et STOMP par les consommateurs. Le consommateur STOMP est déconnecté lorsque le producteur AMQP envoie un message. Vérifié à la fois les journaux rabbitmq et consommateurs. il n'a pas donné beaucoup d'informations dans les journaux.

+0

Quel type de données envoyez-vous? IIRC STOMP ne supporte que le texte. –

+0

Le message est de type UTF-8. Cela devrait causer le problème. (J'utilise avro pour la sérialisation avec le producteur de flux de nuages ​​de printemps (AMQP)). Y a-t-il une approche que nous pouvons suivre pour utiliser AMQP (Spring Cloud Stream) et STOMP (serveur websocket) pour la communication en utilisant MQ lapin comme courtier de messages? –

Répondre

0

Comme STOMP ne supporte que le texte. Changer le type de contenu du message travaillé.