問題タブ [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.

0 投票する
1 に答える
6684 参照

rabbitmq - 「クライアントがメッセージを送信 - >サーバーがメッセージを受信して​​リターンキューでメッセージを返す - >クライアントが相関メッセージを取得」のためのRabbit AMQPとのSpring統合

次のことを行うRabbit Java APIを使用して、Javaプログラムを作成できます。

  1. クライアントは、Rabbit MQ エクスチェンジ/キューを介して、相関 ID (UUID - "348a07f5-8342-45ed-b40b-d44bfd9c4dde" と言う) を使用してメッセージを送信します。

  2. サーバーがメッセージを受信します。

  3. サーバーは、同じ相関 ID - "348a07f5-8342-45ed-b40b-d44bfd9c4dde" を使用して、Rabbit MQ 交換/キューを介して応答メッセージを送信します。

  4. クライアントは、相関メッセージを 1 と同じスレッドでのみ受信しました。

以下は、Rabbit API を使用した Send.java と Recv.java です。このサンプルを変換して、Spring AMQP 統合、特にステップ 4 の受信部分を使用するようにするには、助けが必要です。相関 Id を使用してメッセージをフィルタリングできる receive メソッドのようなものを探しています。

Send.java:

Recv.java

gary から提供された Java 構成を実行した後、構成を XML 形式に移行して、サーバー側でリスナーを追加しようとしています。以下は XML 構成です。

サーバー.xml

SpringReceive.java

0 投票する
2 に答える
58 参照

java - 同時実行数を 0 に設定できないため、Spring amqp の同じキューに対して、あるサーバーに特定の数のリスナーを設定し、他のサーバーにリスナーを設定しない方法は?

応答キューにリスナーをセットアップしました。それらをマスター (メッセージがキューに入れられる場所) にのみ配置し、他のサーバーには応答キューへのリスナーを持たないようにします。他のすべてのキューへのリスナーが必要です。

Spring AMQP では、リスナーの同時実行数を 0 に設定することはできません。そのため、スレーブ サーバーの応答キューに 0 のリスナーを設定することはできません。

応答キューのスレーブ サーバーで同時実行数を 0 に設定するにはどうすればよいですか?

0 投票する
1 に答える
1634 参照

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 にキャストできません

ログ トレース -

ありがとう、セカール

0 投票する
1 に答える
2440 参照

java - フェアディスパッチのために春のamqpでbasicQosを設定する方法は?

これは私の現在の春のamqp構成です

これは私の交換、キュー、リスナー、replyQueues、replyHandlers の構成です。

これを6つの異なるサーバーに設定し、マスターサーバーからのメッセージのみをキューに入れました. 他のサーバーはメッセージのみを処理しています。すべてのサーバーには、同時実行で設定された数のリスナーが実行されています。

問題は、メッセージの処理に異なる時間がかかることです。一部のメッセージには時間がかかります。そのため、現在、一部のサーバーは、それらのサーバー上のすべてのリスナーがメッセージの処理を完了していても、キューからメッセージを取得しません。

保留中のメッセージが処理されるキューにあり、一部のサーバーがアイドル状態になっていることがわかります。他のサーバーがメッセージの処理でビジー状態になっている間に、それらのサーバーが残りのメッセージを取得するようにします。

チュートリアルhttp://www.rabbitmq.com/tutorials/tutorial-two-java.html (Fair Dispatch)に記載されているように、basic_Quos を設定する必要がありますか?

それともSpring ampqのデフォルトですか?そうでない場合、どうすればいいですか?

0 投票する
1 に答える
3103 参照

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 を削除しようとしましたが、それでも同じ例外が発生しますか?

0 投票する
1 に答える
4145 参照

rabbitmq - Spring AMQPを使用してRabbitMQからcorrelationidのメッセージを受信する方法

RabbitTemplate の API を調べてみました。キューからメッセージを取得する receive メソッドのみを提供します。ただし、特定の相関 ID を持つメッセージを取得する方法はありません。ここで何が欠けているかを理解するのを手伝ってくれませんか。

現在、ActiveMQ の JMS API を使用して、メッセージ セレクターで createConsumer を作成する次のコードを使用してメッセージを受信して​​います。RabbitMQ を使用して Spring AMQP で同じことを行うには:

0 投票する
1 に答える
1769 参照

spring-amqp - SSL を介した RabbitMQ で Spring AMQP を使用するための例/ドキュメント

SSL 経由で RabbitMQ に spring AMQP を使用するためのドキュメント/API/例について知りたいです。