問題タブ [spring-amqp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
rabbitmq - 「クライアントがメッセージを送信 - >サーバーがメッセージを受信してリターンキューでメッセージを返す - >クライアントが相関メッセージを取得」のためのRabbit AMQPとのSpring統合
次のことを行うRabbit Java APIを使用して、Javaプログラムを作成できます。
クライアントは、Rabbit MQ エクスチェンジ/キューを介して、相関 ID (UUID - "348a07f5-8342-45ed-b40b-d44bfd9c4dde" と言う) を使用してメッセージを送信します。
サーバーがメッセージを受信します。
サーバーは、同じ相関 ID - "348a07f5-8342-45ed-b40b-d44bfd9c4dde" を使用して、Rabbit MQ 交換/キューを介して応答メッセージを送信します。
クライアントは、相関メッセージを 1 と同じスレッドでのみ受信しました。
以下は、Rabbit API を使用した Send.java と Recv.java です。このサンプルを変換して、Spring AMQP 統合、特にステップ 4 の受信部分を使用するようにするには、助けが必要です。相関 Id を使用してメッセージをフィルタリングできる receive メソッドのようなものを探しています。
Send.java:
Recv.java
gary から提供された Java 構成を実行した後、構成を XML 形式に移行して、サーバー側でリスナーを追加しようとしています。以下は XML 構成です。
サーバー.xml
SpringReceive.java
java - 同時実行数を 0 に設定できないため、Spring amqp の同じキューに対して、あるサーバーに特定の数のリスナーを設定し、他のサーバーにリスナーを設定しない方法は?
応答キューにリスナーをセットアップしました。それらをマスター (メッセージがキューに入れられる場所) にのみ配置し、他のサーバーには応答キューへのリスナーを持たないようにします。他のすべてのキューへのリスナーが必要です。
Spring AMQP では、リスナーの同時実行数を 0 に設定することはできません。そのため、スレーブ サーバーの応答キューに 0 のリスナーを設定することはできません。
応答キューのスレーブ サーバーで同時実行数を 0 に設定するにはどうすればよいですか?
rabbitmq - 応答メッセージ ClassCastException: Cannot cast java.util.LinkedHashMap (id=173) to com.sw.Employee
Spring AMQP を使用してプロデューサー側で LinkedHashMap をリクエストとして送信しようとすると、Listener で例外をキャストできません。
リクエスト -
応答-
コンシューマー側での例外:- ClassCastException: java.util.LinkedHashMap (id=173) を com.sw.Employee にキャストできません
ログ トレース -
ありがとう、セカール
java - フェアディスパッチのために春のamqpでbasicQosを設定する方法は?
これは私の現在の春のamqp構成です
これは私の交換、キュー、リスナー、replyQueues、replyHandlers の構成です。
これを6つの異なるサーバーに設定し、マスターサーバーからのメッセージのみをキューに入れました. 他のサーバーはメッセージのみを処理しています。すべてのサーバーには、同時実行で設定された数のリスナーが実行されています。
問題は、メッセージの処理に異なる時間がかかることです。一部のメッセージには時間がかかります。そのため、現在、一部のサーバーは、それらのサーバー上のすべてのリスナーがメッセージの処理を完了していても、キューからメッセージを取得しません。
保留中のメッセージが処理されるキューにあり、一部のサーバーがアイドル状態になっていることがわかります。他のサーバーがメッセージの処理でビジー状態になっている間に、それらのサーバーが残りのメッセージを取得するようにします。
チュートリアルhttp://www.rabbitmq.com/tutorials/tutorial-two-java.html (Fair Dispatch)に記載されているように、basic_Quos を設定する必要がありますか?
それともSpring ampqのデフォルトですか?そうでない場合、どうすればいいですか?
java - MessageListenerAdapterを使用してSpring amqpでメッセージ型パラメータでpojoを使用するには?
私は例外を下回っています
こんな感じでメッセージを送っています
これは私のリスナーコンテナ構成です
これは私のポジョです。
リスナーとして使用したい同じpojoにそのようなメソッドがたくさんあるので、インターフェイスを実装したくありません。
MessageListenerAdapter 実装コード、https://github.com/spring-projects/spring-amqp/blob/master/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/listener/adapter/MessageListenerAdapterを見てきました.javaとドキュメント http://docs.spring.io/spring-amqp/docs/1.2.1.RELEASE/api/org/springframework/amqp/rabbit/listener/adapter/MessageListenerAdapter.html
ここで、 Message 引数を受け入れるこの例を示します
私のpojoは似ていますが、なぜこの例外が発生するのですか? setContentType を削除しようとしましたが、それでも同じ例外が発生しますか?
rabbitmq - Spring AMQPを使用してRabbitMQからcorrelationidのメッセージを受信する方法
RabbitTemplate の API を調べてみました。キューからメッセージを取得する receive メソッドのみを提供します。ただし、特定の相関 ID を持つメッセージを取得する方法はありません。ここで何が欠けているかを理解するのを手伝ってくれませんか。
現在、ActiveMQ の JMS API を使用して、メッセージ セレクターで createConsumer を作成する次のコードを使用してメッセージを受信しています。RabbitMQ を使用して Spring AMQP で同じことを行うには:
spring-amqp - SSL を介した RabbitMQ で Spring AMQP を使用するための例/ドキュメント
SSL 経由で RabbitMQ に spring AMQP を使用するためのドキュメント/API/例について知りたいです。