問題タブ [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.
spring-integration - ブローカーへの接続が切断されたときに AMQP (RabbitMQ) メッセージがブラックホール化されるのを防ぐにはどうすればよいですか?
たとえば、ネットワーク障害が発生し、プロデューサーが壊れた RabbitMQ への接続を失った場合、キューに入れる必要があるメッセージがブラック ホール化されるのをどのように防ぐことができますか? いくつかのアイデアは、すべてのメッセージをローカル データベースに書き込み、確認応答があったときにメッセージを削除し、一定期間後に定期的に再送信するというものですが、接続ファクトリがパブリッシャーに確認するように設定されている場合にのみ機能します。
java - Spring アノテーション @Retryable - インターセプターの設定方法
クラス@Retryable
のメソッドでアノテーションを使用しています@Service
そしてそれは魅力のように機能します:私はRabbitMQから直接メッセージを受け取っています.エラーがなくなるか、試行回数が5に達するまで確認されず、その時点でメッセージは直接DLQに送られます.欲しかった。
私の唯一の問題は、プロパティ ファイルから maxAttempts を動的に設定する必要があることです。解決策はインターセプターを設定する必要がありますが、インターセプターがあるという唯一の事実は、たとえば次の場合にエラーを引き起こします。
myInterceptor は次のように定義されます。
次の例外を除いて、無限ループが発生します。
私はそれを単純にしすぎていると確信していますが、このエラーの原因とその解決方法についての手がかりがありません。
java - Spring RabbitMQ SimpleRabbitListenerContainerFactory の使用法
docsから、アプリケーションを再起動せずにコンシューマーを動的に変更して、キューからの消費を使用したいと考えています。
Spring RabbitMQ の最新バージョンは同じものをサポートしていることがわかりますが、同じものを変更する手がかり/例/説明はありません。同じものの適切なソースコードや、次のようなパラメーターを渡す方法が表示されませんでしたmaxConcurrentConsumers
Spring 統合とともに Spring RabbitMQ の XML ベースの構成を使用しています
コンシューマーを動的に構成する方法を教えてもらえますか?
rabbitmq - RabbitMQ でメッセージを手動で確認する
以前は、キューに存在するすべてのメッセージを読み取っていましたが、ユーザーの選択 (カウント) に基づいて特定の量のメッセージを返す必要があります。
それに応じて for ループを変更しようとしましたが、自動確認のためにすべてのメッセージを読み取っています。そこで、設定ファイルで手動に変更してみました。
私のプログラムでは、msg を読み取った後にメッセージを手動で確認する方法を教えてください (現在、AmqpTemplate を使用して受信していますが、チャネルの参照がありません)。
事前に感謝します。
rabbitmq - RabbitMQ でどのタイプの交換 (ダイレクト、ファンアウト、トピック、ヘッダー) を使用するシナリオ?
RabbitMQ で提供されるさまざまな交換タイプを使用する実際のシナリオを把握できません。
spring - 2 番目のメッセージの後に応答キューがタイムアウトする問題を修正
何百もの一時キューを表示する代わりに、固定応答キューを使用できるようにする RabbitMQ 構成を実装しようとしています。公開された最初のメッセージは、応答キューを介してすぐに応答を取得し、2 番目、3 番目、場合によっては 5 番目のメッセージでも、スタック トレースにReply received after timeout
. 少し待ってから別のメッセージを送信すると、すぐに連続するメッセージが同じエラーで再び失敗して、再び応答が返されます。
パブリッシャー側では、次の構成があります。
コンシューマー側では、次の構成があります。
私は spring-amqp 1.4.4 を使用しています。
これは、メッセージを作成して公開する方法です。
テンプレートは単純に AmqpTemplate の自動配線されたインスタンスです。
最初のメッセージはすぐに応答を取得し、2 番目のメッセージ (および 3 番目など) はコンシューマ側で次のスタック トレースを取得します。
... パブリッシャーは、応答キューで応答が得られなかった後にタイムアウトします。
これは、消費者側でメッセージに応答する方法です。
それSystem.out.println(message);
は以下を出力します:
何か案は?
web-services - バックエンド コンポーネントの相互作用/通信にメッセージング (RabbitMQ など) を使用するか Web サービスを使用するかを決定する方法は?
バックエンド コンポーネントの開発では、これらのコンポーネントがどのように相互作用し、相互に通信するかを決定する必要があります。特に、(RESTful、micro) Web サービスとメッセージ ブローカー (RabbitMQ など) を使用する方が良いかどうかを判断する必要があります。各コンポーネントに Web サービスを使用するか、メッセージングを使用するかを決定するのに役立つ特定の基準はありますか?
java - アノテーションでキューを宣言せずに spring-rabbit を使用してメッセージからヘッダーを抽出する
今、私はこのようにすることができます:
アノテーション自体でキューを宣言せずにそれを行うことはできますか?