私たちはメッセージブローカーとしてRabbitMQを使用しています。 Producer1はAMQPを使用して接続し、Producer2はSTOMPプロトコルを使用して接続し、Consumer1はAMQPを使用して接続し、Consumer2(javascriptを使用)はWebSocket経由でSTOMPを使用して接続します。
(Producer1とconsumer1はスプリングクラウドストリームを使用)RabbitMQ - 同じ取引所にAMQPとSTOMPを使用して接続
のTest1:AMQPを使用producer1メッセージを送信すると、それは(AMQP)consumer1で受信及びconsumer2(ストンプ)で受信に失敗しています。 producer1(AMQP)がメッセージを送信し、キューが削除されると、Consumer2のjavascriptクライアントがすぐに切断されます。
テスト2:STOMPを使用するプロデューサ2がメッセージを送信すると、コンシューマ1(AMQP)とコンシューマ2(STOMP)で受信され、問題は発生しません。
Test1 - 可能なシナリオですか? AMQPとSTOMPプロトコルを使用してRabbitMQの同じ交換機に接続しようとしています。 AMQPプロデューサがメッセージを送信すると、STOMPコンシューマが切断されます。 rabbitmqとコンシューマログの両方を確認しました。それはログに多くの情報を与えませんでした。
送信しているデータの種類。 IIRC STOMPはテキストのみをサポートします。 –
メッセージのタイプはUTF-8です。これにより問題が発生しているはずです。 (私は春のクラウドストリームプロデューサ(AMQP)でシリアル化のためにavroを使用しています)。メッセージブローカーとしてウサギMQを使用した通信にAMQP(春の雲の流れ)とSTOMP(ウェブソケットのサーバー)を使用する方法はありますか? –