2012-02-18 10 views
1

私はNServiceBusソリューションに関心があります。NServiceBusの現在のサブスクリプションを確認する方法はありますか

私はいくつかの非常に重要なメッセージを発行する "MessageHub"を持っています。しかし、時にはそれは購読のトラックを失い、誰も聞いていないと思うので、メッセージを破棄します。

私はサブスクリプションを格納するために "NServiceBus.Integration"をオンにしようとしました。しかし、それにもかかわらず、私はまだ何も聞いていないと思って悪い始動の順序で問題があります。

このプロセスをデバッグする方法はありますか?それがなぜ混乱しているのか理解してみてください。

私も...

をそれはそれは持っている「と考え、」何をサブスクリプションを見る方法を知らない、今までのデータを失うことになっていないので、私はNServiceBusと一緒に行きました。今私は大きなチャックを失っている。私はそれが設定問題であることを知っていますが、それは多くの悲しみを引き起こしています。

答えて

1

おそらくあなたのケースでは、サブスクリプションストレージにMSMQを使用しています。サブスクリプションがしばらく続く場合でも、MSMQを使用して長期間にわたり物事を保管することは常に激しくなります。

耐久性のあるサブスクリプションストレージ(「永遠に」存続する)の場合、サブスクリプションストレージとしてSQL Serverを使用する必要があります。

注:現在のサブスクリプションは、sqlまたはmsmqを使用して保存しているかどうかにかかわらず、いつでも表示できます。 SQLでは、サブスクリプションテーブルを調べ、msmqはパブリッシャのサブスクリプションキューを調べます。

UPDATE私はデフォルトですRavenDbを使用しているバージョン3以来

+1

プロダクションプロファイルは、サブスクリプションデータをバージョン2.6のデータベースとバージョン3.0のRavenDBに格納します。どちらの場合でも、あなたはサブスクリプションを見ることができます。 –

+0

Publishers Subscriptionツールには正しいキューがありました。しかし、実際には他のキューには現れませんでした。私はrunner.exeツールを実行した後、すべてが間違っていました(私はDTCの問題を抱えていたので実行しました)。 – Vaccano

+0

公開/サブスクリプションが提供できるより固いソリューションが必要です。私は完全な修正のために行っていないので、私はあなたの答えを "正解"としてマークします。私はパブリッシングを使わないようにシステムを切り替えました。今は直接の 'Send'sです。うまくいけば、それはすべてをより信頼できるものにするでしょう。 – Vaccano

0

私の経験上、サブスクリプションが正しく割り当てられるようにするには、最初にEventHandlerプロジェクトを開始してから、すべてがアイドル状態のときにCommandHandler(パブリッシャー)を開始してください。

Service Bus MQ Managerを使用してサブスクライブされているメッセージを確認できます。すべてのメッセージとそのサブスクライバ/パブリッシャをリストするダイアログがあります。私のサイドプロジェクト、無料でオープンソースのプロジェクト。 http://blog.halan.se/page/Service-Bus-MQ-Manager.aspx

関連する問題