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

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

ninject - EasyNetQ の IoC として Ninject を使用する

プロジェクトで EasyNetQ ライブラリを使用しています。Ninject を EasyNetQ コンポーネントの IoC コンテナとして使用したいと考えています。

EasyNetQ から何かをログに記録するために、カスタム ロガーを作成しました。

そして、メイン関数で Ninject 拡張機能を使用します。

しかし、次の例外が発生します。

このパッケージを間違った方法で使用していますか? 解決策はありますか?

ありがとう!

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

node.js - NodeJSでRabbitMQ、EasyNetQ?

これらのテクノロジーを統合するために何が合理的かを理解しようとしています。NodeJS (現在は amqplib を使用していますが、これは変更される可能性があります) を RabbitMQ から EasyNetQ に統合するにはどうすればよいですか?

EasyNetQがオブジェクトを期待していること(私は思う)とNode / amqplibが文字列しか送信できないことを除いて、私はそれをある程度機能させています。

C# コード:

NodeJS コード:

結果:

バスを介してオブジェクトを送信する方法はありませんか? この2つをどのように統合しますか?

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

node.js - RabbitMQ、NodeJS を使用した EasyNetQ (amqplib) - サブスクライブ

amqplib --> EasyNetQ からの公開に関して、私はすでにこの質問をしており、EasyNetQ の作成者の助けを借りて作業することができました。

今、私は別の道に行くのに苦労しています。

一時的に「機能」しましたが、作成したすべてのキューを元に戻し、今では機能しません (amqplib から ENQ への発行は引き続き機能しますが、ENQ から amqplib への発行は機能しません)。

このコードがある場合:

以下の Node/amqplib をサブスクライブ/消費するには、何をプラグインする必要がありますか?

アップデート

EasyNetQ で最初にキューを作成し (パブリッシュ先)、Node で「assertQueue」呼び出しを削除して (キューが壊れないように)、命名規則に従うと動作します。もちろん、これは本当の解決策ではありませんが、誰かが解決策を指摘するのに役立つでしょうか?

更新 #2

どうやら、キューを交換にバインドする必要があったようです。新しい作業コードは次のとおりです。

明確でないことの 1 つは、バインドのパターンを「#」に設定した場所です。それは機能していますが、ENQがそれを使用しているのを見たので、それを入れただけで、他の値は機能していないようです...

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

rabbitmq - マシンが非常にアクティブな場合、RabbitMQ / EasyNetQ は接続をドロップしますか?

私は RabbitMQ / EasyNetQ を初めて使用し、観察している動作をよりよく理解しようとしています。RabbitMQ を実行しているサーバーがビジー状態になると、すべての EasyNetQ 接続が切断されることがわかりました。

これは、すべてのクライアントで同時に生成される例外です。

System.Exception: ブローカへの接続に失敗しました: 'XXXXXX.domain.com'、ポート: 5672 VHost: 'XXXX'。ExceptionMessage: '指定されたエンドポイントに到達できませんでした'

サーバーがビジー状態でなくなると、EasyNetQ は自動的に再接続しますが、マシンがビジー状態になると、RabbitMQ/EasyNetQ が接続をドロップするのは一般的でしょうか? (または、サーバーのパフォーマンスの問題を調査する必要がある場合。)

(追記: 忙しいというのは、ソース管理から大規模なプロジェクトを更新すること、再デプロイ後に大規模な ASP.NET アプリケーションを再起動すること、または大量のデータに対して CPU を集中的に使用する計算を実行することを意味します。)

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

rabbitmq - EasyNetQ - メッセージの配信順

RabbitMQから- メッセージの配信順

AMQP 0-9-1 コア仕様のセクション 4.7 では、順序が保証される条件について説明しています。1 つのチャネルで公開され、1 つの交換と 1 つのキューを通過し、1 つの送信チャネルを通過するメッセージは、送信されたのと同じ順序で受信されます。RabbitMQ は、リリース 2.7.0 以降、より強力な保証を提供します。

これは EasyNetQ にも当てはまりますか? 私はそれが保持されることを期待していましたが、時々(常にではありませんが)別の動作を見ています.

コンシューマーが同期されている場合 (まだ私の場合ではありません。ロックしていますが、この場合は常に false である「if」の後に開始されます)、メッセージが発行された順序で消費されることを信頼する必要がありますか? (同じタイプのメッセージ、同じ発信元、同じ宛先に送信されます) または、ここで EasyNetQ の内部で、メッセージの配信順序を保持しないことに注意する必要がある他の要素がありますか?

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

.net - Vagrant 上の RabbitMQ: ポート 5672 に telnet できますが、Rabbit に接続できません

VagrantボックスでRabbitMQを実行しています(VirtualBoxを使用)。パブリック ネットワークに IP を割り当てました。

今、別のマシンから、EasyNetQ を使用して AMQP 経由で接続したいと考えています。それをしようとすると、次のエラーが表示されます。

ここで、(.NET コードを実行した同じマシンから) ポート 5672 でその IP に telnet しようとすると、正常に接続されます。

EasyNetQ が接続できない理由は何ですか?

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

c# - Multiple queues using single IBus

I'm trying to implement priority messages using multiple queues (four in my case) with RabbitMQ and EasyNetQ.

I understand that IBus instance should be kept alive for the whole application life cycle. Also, the only way to stop RabbitMQ from sending more messages on a given queue is to dispose of the IBus using Dispose.

Given these two contradicting factors how should I architect this? One IBus instance per queue and if messages on the more important queue are being sent disposing (and later recreating) of the less important ones?

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

c# - easynetq でデフォルトの交換を変更することは可能ですか?

現在、複数の環境を同時に実行するのに問題がありますeasynetq

自分の環境でメッセージを発行すると、そのメッセージは自分の環境devでも取得されます。stagingacceptance

これを回避する方法は、次のような高度なバスを使用して、環境ごとに交換を作成することです

IBusただし、これをインターフェイスを解決する場合に使用されるデフォルトの交換にする方法がわかりません。

これを行うことはできますか、または のみを使用するルートを下る必要がありIAdvancedBusますか?

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

c# - easynetq を使用したパブリッシュ サブスクライブの状況での切断

現在、Easynetq (rabbitmq の上にある .net lib) を使用していくつかのソフトウェアを構築しています。これは、1つのことを除いてうまく機能します。

パブリッシュ サブスクライブの設定があります。サーバーは、接続できるクライアントまたは接続できないクライアントにメッセージをプッシュします。望ましくないシナリオでは、クライアントが接続を失う可能性があります。アプリケーションが閉じられると、サブスクリプションが解除されるため、サブスクリプションはなくなります。しかし、ネットワーク接続がダウンしているとしましょう。これらのメッセージが処理されないようにする方法はありますか? または、OnConnect イベントでメッセージを消去できますか?