問題タブ [easynetq]
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 - EasyNetQ と RabbitMQ を使用してメッセージをパブリッシュおよび受信する
私はメッセージングが初めてで、現在、RabbitMQをシステム アーキテクチャの一部として使用して、異なるサービス間でメッセージングを提供することを調査しています。基本的な RabbitMQ の例が動作しており、基本的なテキスト メッセージをバス経由で送信できます。EasyNetQは、RabbitMQ を使用する際の複雑さの一部を簡単に解決できるように見えますが、私はそれを機能させるのに少し問題があります。
単なる文字列ではなく、次のクラスで表されるより高度なメッセージを送信したいと考えています。
これをキューに発行して送信し、サブスクライバーにキューから取得させようとしています。私のコードは次のとおりです。
出版社
レシーバー
双方がつながっているようで、発行者はメッセージが発行されたと報告しています。
サブスクライバーは次のログを記録します。
サブスクライバーがキュー (または正しいキュー) に接続していないように見えますか、実際にメッセージを受信するために他に何かする必要がありますか?
rabbitmq - Is there an easy way to subscribe to the default error queue in EasyNetQ?
In my test application I can see messages that were processed with an exception being automatically inserted into the default EasyNetQ_Default_Error_Queue, which is great. I can then successfully dump or requeue these messages using the Hosepipe, which also works fine, but requires dropping down to the command line and calling against both Hosepipe and the RabbitMQ API to purge the queue of retried messages.
So I'm thinking the easiest approach for my application is to simply subscribe to the error queue, so I can re-process them using the same infrastructure. But in EastNetQ, the error queue seems to be special. We need to subscribe using a proper type and routing ID, so I'm not sure what these values should be for the error queue:
bus.Subscribe<WhatShouldThisBe>("and-this", ReprocessErrorMessage);
Can I use the simple API to subscribe to the error queue, or do I need to dig into the advanced API?
If the type of my original message was TestMessage
, then I'd like to be able to do something like this:
bus.Subscribe<ErrorMessage<TestMessage>>("???", ReprocessErrorMessage);
where ErrorMessage
is a class provided by EasyNetQ to wrap all errors. Is this possible?
.net - EasyNetQモデルのシャットダウン
EasyNetQを使用して、RabbitMQに単純なクライアントを実装します。接続後、「キューのモデルシャットダウン」という通知が表示されます。これが私のコードです:
より低レベルのアプローチを使用すると、すべてがうまく機能します(メッセージの長さはコンソールに表示されます)。
最初のアプローチの何が問題になっていますか?
UPD IntelliTraceで例外をキャッチしました:
AMQP操作が中断されました:AMQPクローズ理由、ピアによって開始、code = 406、text = "PRECONDITION_FAILED-vhost'/'で交換'live'を異なるタイプ、耐久性、内部または自動削除値で再宣言できません"、classId = 40 、methodId = 10、cause =
Exchangeの設定は同じです(上記を参照)。では、何が問題なのですか?
c# - RabbitMq EasyNetQ Activator.CreateInstance を使用してメッセージを作成する
完全に理解できない問題があります。この方法でメッセージを作成すると、次のように機能します。
メッセージがキューに入れられ、リスナーがそれを消費できます。しかし、このようにActivator.CreateInstanceを使用してメッセージを作成すると、機能しません。キューには何も発行されません。
デバッグ中に、両方の方法を使用して同じタイプが作成されていることがはっきりとわかります。2番目のアプローチが機能しない理由は何ですか?
これは私がメッセージを購読する方法です:
.net - RabbitMQ 認証は SSL なしで安全ですか?
RabbitMQ を使用しており、インターネット経由でサーバーを公開します。複数のコンピューターから複数のクライアントがサーバーにアクセスします。私たちの最初の本能は SSL を有効にすることですが、これは特に Windows と .NET の場合、ドキュメントからはかなりの苦痛のように思えます。
メッセージを手動で暗号化し、重要な情報が傍受されないようにすることはできますが、認証と承認についてはより懸念しています。
RabbitMQ のデフォルトのログイン アーキテクチャは安全ですか? それとも、100% 安全なログインと承認のために SSL を有効にする必要があるのでしょうか? クライアントがリモートで RabbitMQ にログインするときに、誰かが vhost/username/password を盗み見ることができますか?
ありがとう、
rabbitmq - EasyNetQ を使用したトピック ベースのパブリッシング
easynetQ を介してトピックベースのルーティングを使用しようとしています。私のセットアップでは、3 つのキュー ("AB"、"AC"、"BC") があり、"ex" を交換しています。3 つのキューはすべてルーティング キー「AB」、「AC」、「BC」で「ex」に接続されています。
以下は私のコードです。
ここで、コードが "A. " にパブリッシュされると、メッセージはすべての (または) キューに送信されません。「 .*」、「#」のいずれかを試しました
提案してください
ありがとう
c# - RabbitMQ、EasyNetQ キュー名
私のキュー名は「TaskQueue」ですが、コードを実行すると、「System_String:mscorlib_TaskQueue」という名前の新しいキューが作成されます。以下の私のサブスクライバーコード。私のせいは何ですか?