問題タブ [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.
c# - EasyNetQ Windows Service メッセージング アーキテクチャがうまく機能しない
したがって、パブリッシャーとサブスクライバーを含む単純な EasyNetQ メッセージング アーキテクチャを使用して(この EasyNetQ toturial: Quick Start - EasyNetQに基づいて) 実験しようとしていますが、期待どおりに機能していないようです。パブリッシャーとサブスクライバーはどちらも Visual Studio 2015 の Windows サービス プロジェクトであり、それらの間で送信されるメッセージは、次のような単純なクラス ライブラリであるカスタム タイプ (TextMessage) のインスタンスです。
私のパブリッシャーは次のようになります。
だから空想は何もありません。これは、タイプ TextMessage の 1 つのメッセージを発行し、テキスト ファイル「PublisherLogFile.txt」にログを記録するだけです。
サブスクライバーは次のようになります。
また、非常にシンプルです。タイプ TextMessage のメッセージを受信し、テキスト属性の値をログ ファイル「SubscriberLogFile.txt」に出力するだけです。問題は、上記のテキスト ファイルにログが記録されないため、メッセージを受信していないように見えることです。サブスクライバーのHandleTextMessageハンドラーが呼び出されないようです。「SubscriberLogFile.txt」の内容は次のとおりです。
また、RabbitMQ 管理コンソールを見ると、接続もチャネルも作成されておらず、1 つのキューのみが作成されています。
そして、RabbitMQ ログ:
私が最初に同じ実験を行ったとき、パブリッシャーとサブスクライバーが Windows サービスではなくコンソール アプリケーションであるという違いはありましたが、問題なく動作しているように見えました。ここで何が問題になる可能性がありますか?
c# - easynetq ドライバーを使用した rabbitmq への接続エラー
突然、easynetQ ドライバーを使用して RabbitMQ に問題なく接続していました。このエラーが発生し始めました
System.ArgumentException が発生しました メッセージ: 例外がスローされました: System.dll の 'System.ArgumentException' 追加情報: 検出されたアドレスまたは指定されたアドレスのいずれも、ソケット アドレス ファミリと一致しません。
突然ウサギの mq サーバーが見つからないのはなぜですか。この問題の根本的な原因は何でしょう。ネットワーク構成は変更されていません。
c# - easynetq での rabbitmq キューのレイテンシ
easynetq ドライバーを使用して、rabbitmq 用の単純なパブリッシュ/サブスクライブ ツールを作成しました。しかし、可能性は恐ろしいようです。日時フィールドを含むメッセージを送信し、サブスクライバーが受信するまでの時間を測定します。
Queue Latency = サブスクライバーに到達するまでの DateTime - 元の日時 (秒単位)
キューが本来あるべき FIFO であると仮定します。時間が経つにつれて、キューのレイテンシーが大幅に増加することに気付きました。結果を説明できませんでした。似たような経験。
メッセージのサイズは約 200Kb で、プリフェッチ カウントはサブスクライバーで 5 に設定されています。パブリッシャーは、オンになっていることを確認します。
.net - EasyNetQ はリスナーにすべてのメッセージを受信させたい
すべてのメッセージをデータベースに保存したいと考えています。RabbitMQ では直接、メイン/唯一の交換でトピック「*」(何でも) をリッスンするコンシューマーを作成します。
EasyNetQ では、新しい Message クラスを作成するたびに、ロギング プロジェクトに行を追加する必要があるようです。これを回避したいので、どのメッセージを送信しても、行を追加することを忘れずに、1 つの場所で取得され、データベースに保存されます。
独自のロガーを実装しました
しかし、受け取ったパラメーターは、RoutingKey、CorrelationId、ConsumerTag、DliveryTag、Redelivered だけのようです。しかし、私は(また)文字列/テキストメッセージ自体が欲しい.
c# - キューへのメッセージ送信エラー
EasyNetQ を使用して、うさぎのキューにメッセージを送信しています。
私はこのようなコードを持っています
バスを作成すると接続は開いていますが、メッセージを送信するとこのエラーが発生します
AMQP 操作が中断されました: ピアによって開始された AMQP クローズ理由、コード = 406、テキスト = "PRECONDITION_FAILED - キューの不等引数 'x-max-priority' ....: 受信されませんでしたが、現在の値は '10' ですタイプ 'long' の」、classId=50、methodId=10、cause=
x-max-priority: 10 でキューをセットアップしました。接続文字列で他に何かセットアップする必要がありますか?
c# - EasyNetQ デバッグの問題
しばらくの間、RabbitMQ が機能していますが、最近エラーが発生し始めています。
EasyNetQ.EasyNetQException: メッセージ タイプのハンドラが見つかりません
何が起こっているのかを確認するために、EasyNetQ をダウンロードGit
してデバッグしようとすると、EasyNetQ 共有プロジェクトのファイル AdvancedBusEventHandlers.cs で以下のエラーが発生します。RabbitMQ ページを確認すると、最も安定したバージョンは 3.6.4 であり、ここで何が起こっているのかわかりません。
誰もこのエラーに遭遇しましたか? または、この修正のために誰かが推奨できるものはありますか?
ありがとう