問題タブ [spring-rabbit]

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 に答える
689 参照

spring - 同じインターフェースを実装する複数の Bean

正確な使用法は次のとおりです。

各「クライアント」インスタンスには、互いに衝突しないように独自の Bean ID があります。

SpEl を使用して、このオブジェクトの正確な updateListener を取得するにはどうすればよいですか?

アップデート

プログラムによるアプローチと登録方法を使用した後、次の例外が発生します。

アップデート

完了したら、目的の動作を実現するために次のことを行う必要があります。

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

java - Spring ブート RabbitMQ ホスト文字列形式

spring boot を使用して、rabbitmq インスタンスでメッセージをリッスンしています。ファイルを使用してローカルで動作させていapplication.propertiesます。

ただし、リモートのウサギ インスタンスに接続しようとすると、URL が原因で数値形式の例外と不明なホストの例外が発生します。

私はに設定しようとしましspring.rabbitmq.hostた:

amqp://myurl/dev and myurl/dev and amqp%3A%2F%2Fmyurl%2Fdev

何も機能していません。何が起きているのか、どんなアイデアでも。リモートインスタンスにもユーザー名とパスを設定しました。

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

java - RabbitMQ を使用した spring-amqp が正しくシャットダウンしない

SimpleMessageListenerContainer shutdownTimeoutコンシューマーが呼び出し後に実行を終了しないAnnotationConfigApplicationContext.close()と、Spring アプリケーションがハングします。

リスナー:

構成:

主要:

出力:

その後、アプリケーションは無限に機能します。

作業スレッド:

非デーモンスレッド:

を増やせば問題ないのですがshutdownTimeout、タイムアウトの動作がバグのようです。

春のバージョン:

更新: System.out.println のLog呼び出しを呼び出しに置き換え、ログ用に log4j を構成しました。パターン:%r [%t] %-5p %c{1} - %m%n

出力:

0 投票する
0 に答える
604 参照

java - spring-rabbitmqは自動ではありませんか?

私が今使っているのは、spring 4.0.0.RELEASE と spring-rabbit 1.4.4.RELEASE です。

私のコードはメッセージを処理します。メッセージ キューは消えないので、プロセスを循環しています。

spring-rabbitmq.xml

CallBackTaskMessageListener.java

解決方法 いくつかのニュースをコラムで取り上げさせてはいけません。メッセージの正しい応答をどのように処理しますか? ありがとう。

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

java - Rabbitmq でコンカレント プロデューサーが無期限にブロックする

spring-rabbit-1.3.9.RELEASE ライブラリを使用して Rabbitmq 3.3.5 の POC を実行しているときに、奇妙な動作を観察しています。

単一の生成スレッドを開始すると、物事はスムーズに実行されます。ただし、複数のスレッドを同時に開始すると、そのうちの 1 つだけが終了し、他のすべてのスレッドは、キューが空になった後でも無期限にブロックされます。

から監視すると、ブロックされたスレッドの接続のステータスは実行中のままになりますrabbitmqctl list_connections。プロデューサがブロックするとき、または完全な実行中のその他の時点では、アラームは発生しないことに注意してください。

また、各送信後に 1 ミリ秒スリープ状態にすると、問題が解消されることも確認しました。

だから、私はこれらの質問があります

  1. rabbitmq は並行プロデューサーをサポートしておらず、高いレートで公開していますか?
  2. 接続が実際にブロックされている場合でも、rabbitmqctl list_connections に表示されないのはなぜですか?
  3. なぜ彼らは無期限にブロックし、ホエイ キューが空になると回復しないのですか?

コード

春の構成

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

java - 多くのCPUを使用するspring-rabbitクライアント

c3.large マシンの ec2 で spring-boot アプリケーションを実行しています。独自のスレッドを開始する spring-rabbit クライアントを初期化します。

YourKit を使用してアプリケーションのプロファイリングを行った後、多くの時間がウサギ クライアント スレッド内で費やされていることがわかりましcom.rabbitmq.client.impl.AMQConnection$MainLoop.run()た。java.io.DataStream.readUnsignedByte()

私には、RabbitMQ サーバーからソケットへの入力を継続的にブロックする while ループがあるように見えます。

誰かがこれに遭遇しましたか?プロファイリング結果を正しく読んでいますか? amqp クライアントをノンブロッキングにする方法はありますか?