問題タブ [nservicebus]
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.
nservicebus - デバッガーで NServiceBus 2.0 にステップインし、Resharper でナビゲートする方法は?
プロジェクトで NServiceBus を使用することを新たに決定したばかりで、いくつかの問題が発生しています。問題が発生するたびに「魚を頼む」のではなく、「魚を釣ることを自分自身に教える」ことを好みます。これは、NServiceBus のソース コードに足を踏み入れ、NServiceBus をより深く理解できるように設定することを意味します。
これをうまくやってのける方法を見つけるには、助けが必要です。NServiceBus には、ILMerge を使用して統合アセンブリなどを作成する独自の Nant ビルド プロセスが付属しているため、各コンパイル時に Visual Studio で NServiceBus を正常にビルドする方法は不明です。
Nant スクリプトを使用して NServiceBus を構築し、それらの dll と pdb を参照することは既に試みました。ただし、それではどこにでもステップを踏むことができず、VS.NET と Resharper が「使用箇所の検索」やその他の機能を介してナビゲートすることもできません。
したがって、私たちが本当に作成したいのは、社内ソフトウェアと NServiceBus を構築し、それらの間をシームレスにステップ アンド ナビゲートできるようにする VS.NET ソリューションです。
これは可能ですか?これをやってのけるために何をする必要がありますか?
nservicebus - NServicebus ISubscriptionStorage
自分のISubscriptionStorage
クラスを介してNServiceBusの独自のカスタムサブスクリプションストアを作成しましたが、それを実装する方法が見つからず、その方法に関するドキュメントも表示されません。私に手を差し伸べてくれる人はいますか?
ninject - Ninject 2.0 を nServiceBus ObjectBuilder として使用している人はいますか?
nServiceBus を基になる IoC コンテナーとして Ninject 2.0 と連携させようとしましたが、うまくいきませんでした。基本的な統合はできますが、「ゴースト」メッセージがさまざまなサブスクライバーに送信されるという問題がありました。Autofac の実装を一種のテンプレートとして使用し、必要な部分を Ninject 固有のコードに置き換えました。さらに、自動プロパティ インジェクションを発生させるためにカスタム ヒューリスティックを作成する必要がありました。
いずれにせよ、私が目にする動作は、最初のメッセージが発行され、サブスクライバーによって正常に読み取られるということです。ただし、パブリッシュされる次のメッセージでは、メッセージが 3 回「受信」されます。
だから、私は疑問に思っています:nServiceBus ObjectBuilderとしてNinjectで何かをしている人はいますか? または、現在 nServiceBus 2.0 にバンドルされている他の IoC コンテナー (つまり、Windsor、StructureMap、または Autofac) の統合中に、この動作を確認して修正した人はいますか。
編集: 私はこれを見ましたが、完全には見えず、プロパティ注入のヒューリスティックは少し違うはずだと思いました。
nservicebus - サブスクライバーも NServiceBus でメッセージを発行/送信できますか?
NServiceBusでの通信は双方向ですか?
サブスクライバーもメッセージを公開/送信できますか?
c# - NServiceBusの例外処理とメッセージの再試行メカニズム
メッセージをディスパッチするために、アプリケーションでNServiceBusを使用することを計画しています。この場合、各メッセージにはtimeToLive
、このメッセージを処理する期間を定義するプロパティがあります。
メッセージの処理が最初の試行で失敗した場合、メッセージが正常に処理されるかtimeToLive
期限切れになるまで、メッセージを特定の再試行ストレージ(再試行キュー)に移動し、再試行メッセージ(再試行の間にタイムアウトがあります)よりも移動する予定です。
有効期限が切れた場合 timeToLive
は、メッセージの内容をログに記録し、メッセージを破棄する予定です。
実際、この再試行動作は、ほとんどの場合、実装しているプロトコルによって決定されます。
NServiceBusでこのような動作を実現する方法はありますか?わかりました。失敗したメッセージは特定のに送信されますerror queue
。エラーキューを指す別のバスを作成することは可能ですか?
nservicebus - プロデューサーと同じアプリケーションでNServiceBusサブスクライバーをホストする
NServiceBusを使用して、同じアプリケーション、特にWebアプリケーションでメッセージを公開および消費することは可能ですか?
将来的には、このアプリケーションによって生成されたメッセージを処理するために、別の長時間実行サービスを維持する必要がほぼ確実になります。そのため、最初からNServiceBusを使用したいと考えていますが、現時点では、コンシューマーを起動するだけでよいでしょう。 Webアプリケーションの起動時の発行元。これにより、テストと展開がはるかに簡単になります。
NServiceBus.Host.exeを参照し、global.asaxでプロセスを起動する必要があると思いますが、これを行うために正確に何を呼び出す必要があるかについてのヘルプが必要です。
msmq - Webファーム内のディストリビューターを使用したnServiceBus
多数のクライアントと多数のサーバーがある場合、ディストリビューターをどこで実行すべきかわかりません。すべてのクライアントが送信する単一のディストリビューターがあり、すべてのサーバーがそこから動作する場合、それは確かに単一障害点です。この弱点を取り除く方法はありますか?
nservicebus - NServiceBus の複数のサブスクライバー
NServiceBus を使い始めたばかりで、Pubsub サンプルについて質問があります。
私の意図は、Publisher1 の複数のインスタンスを実行して、発行元から送信されたメッセージを受信することでした。また、パブリッシャーをハッキングして、eventMessage タイプのメッセージのみを送信しました。
しかし、パブリッシャーと Subscriber1 の 3 つのインスタンスを開始すると、一度に 1 つのみがメッセージを受け取ります。
何故ですか?それは構成設定ですか、それとも何か他のものですか?
これは私が試したもので、「エンドポイントを開始するときに例外が発生しました。エラーがログに記録されました。理由: コンポーネントが構成される前にプロパティを構成できません。最初に「構成」を呼び出してください。」:
/J
command - nServiceBus - すべてのコマンドがハンドラーによって受信されているわけではありません
nServiceBus pub/sub サンプルに基づくテスト プロジェクトで、サーバーの bus.publish を bus.send に置き換えました。サーバーは、5 メッセージごとに 1 秒待機して 50 メッセージを送信します (つまり、5 メッセージの 10 バースト)。クライアントはすべてのメッセージを取得しません。
ソルンには、サーバー、クライアント、共通メッセージの 3 つのプロジェクトがあります。サーバーとクライアントは、nServiceBus 汎用ホストを介してホストされます。バスは 1 つだけ定義されます。
クライアントとサーバーの両方が、StructureMap ビルダーと BinarySerialisation を使用するように構成されています。
サーバー エンドポイント:
サーバーコード:
クライアント エンドポイント:
クライアント クロード:
クライアントとサーバーの App.Config:
すべて VisualStudio 2008 経由で実行されます。
50 件すべてのメッセージが送信されますが、最初または 2 番目のバッチの後で送信されます。バッチごとに 1 つのメッセージのみが送信されますか?
何か案は?私は構成または誤用を想定していますが....?
nservicebus - Microsoft のクラスタ サーバーに NServiceBus をインストールした人はいますか?
更新: OK、MSDTC をクラスター リソースとしてセットアップしていなかったという事実を乗り越えた後 (doh!)、プログラムを実行でき、すべて正常に表示されましたが、メッセージを正常に送信できませんでした。掘り下げた結果、プライベート キューはクラスターの 1 つのノードで作成されたものの、他のノードでは作成されず (コマンド プロンプトから NServiceBus.Host.exe を実行していました)、クラスターを使用するアプリケーションからは見えないことがわかりました。名前。NServiceBus.Host.exe から Generic Application を作成して Cluster グループに追加しようとしましたが、クラスター グループがダウンしてしまいました。私の質問はまだです: クラスタ化された環境で NServiceBus を正常に実行した人はいますか?
NServiceBus をクラスター化された win2k3 ホストにインストールしようとしています。提供された構成ユーティリティ (runner.exe) は、キャッチできなかったいくつかのエラーをスローし、正しく実行されるようになりました。NServiceBus.Host.exe を実行すると、次のエラーが繰り返し発生します。
System.Transactions.TransactionAbortedException: トランザクションが中止されました。---> System.Transactions.TransactionManagerCommunicationException: 基になるトランザクション マネージャーとの通信に失敗しました。---> System.Runtime.InteropServices.COMException (0x8004D01B): トランザクション マネージャーを利用できません。(HRESULT からの例外: 0x8004D01B) System.Transactions.Oletx.IDtcProxyShimFactory.ConnectToProxy (String nodeName、Guid resourceManagerIdentifier、IntPtr managedIdentifier、Boolean& nodeNameMatches、UInt32& whereaboutsSize、CoTaskMemHandle& whereaboutsBuffer、IResourceManagerShim& resourceManagerShim) で System.Transactions.Oletx.DtcTransactionManager(.Inc) ) --- 内部例外スタック トレースの終了 --- System.Transactions.Oletx.OletxTransactionManager で。
NServiceBus をクラスター化されたサーバーにうまく配置した人はいますか? もしそうなら、どのように機能させましたか?