問題タブ [msmq]
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.
msmq - マルチキャスト、メッセージング、ActiveMQ と MSMQ の比較?
私は、製品のメッセージ/通知システムに取り組んでいます。基本的な要件は次のとおりです。
- 火をつけて忘れる
- 送信者がメッセージを削除するように指示するまでそこに留まる、更新される可能性のある永続的なメッセージのセット
ライブラリは C# で記述されます。Spring.NET は、多くの優れたメッセージング抽象化を備えたマイルストーン ビルドをリリースしました。これは素晴らしいことです。私はそれを広範囲に使用する予定です。私の基本的な質問は、メッセージ ブローカーの問題に帰着します。私のアーキテクチャは、アプリ -> メッセージ ブローカー キュー -> リッスンし、必要な場所にすべてのメッセージをディスパッチし、それらの長期メッセージのライフ サイクルを処理するサーバー アプリ -> メッセージ ブローカー キューまたはトピック -> リッスンのようなものになります。アプリ。
最後に、質問: どのメッセージ ブローカーを使用する必要がありますか? 私はActiveMQに偏っています - 私たちは前回のプロジェクトでそれを使用し、気に入りました。Java であり、どこかのサーバーに Java をインストールする必要があり、このサービスを使用する一部の人々にとっては売り込みが難しいかもしれないということを除いて、私はそれに対する単一のストライキを本当に考えることはできません. 私が検討しているもう 1 つのオプションは MSMQ です。なんらかの理由で私はそれに反対しています。また、優れたマルチキャスト サポートもないようです。
このような目的で MSMQ を使用した人はいますか? 賛否両論、投票を左右する可能性のあるものはありますか?
最後に、.NET 2.0 を使用しています。
.net - WindowsでMSMQの代替をキューに入れますか?
.NET 2.0以降を実行しているWindowsでの耐久性のあるメッセージングにキューイング製品を使用する場合、現在MSMQに代わるものはどれですか。ActiveMQ(http://activemq.apache.org/ )を知っており、WSMQ( http://wsmq.netを指す)への参照を見たことがありますが、サイトがダウンしているようです。
他に選択肢はありますか?
monitoring - MSMQ の監視
msmq の監視に役立つものはありますか? メッセージがキューに表示されたときにイベント/モニターを取得したいと思います。
msmq - メッセージ キュー (MSMQ) から受信したメッセージをプロパティでフィルター処理できますか? (別名トピック)
キューからのメッセージを処理する Windows サービスを C# で作成しています。メッセージのプロパティに応じて運用環境でサービスを分割する柔軟性を ops に提供したいと考えています。たとえば、顧客 A からの Web 注文、顧客 A からの別のバッチ注文、顧客 B からの 3 番目の Web またはバッチ注文などを処理するインスタンスがあると言えます。
私の現在の解決策は、顧客とソースの組み合わせごとに個別のキューを割り当てることです。注文をキューに入れるプロセスは、正しい決定を下す必要があります。My Windows Service は、1 つ以上のキューからメッセージをプルするように構成できます。面倒ですが、うまくいきます。
.net - WCFのMSMQバインディングでメッセージの失敗を処理するにはどうすればよいですか
WCFサービスを作成し、netMsmqBindingバインディングを利用しています。
これは、Dtoをサービスメソッドに渡し、応答を期待しない単純なサービスです。メッセージはMSMQに配置され、ピックアップされるとデータベースに挿入されます。
データが失われていないことを確認するための最良の方法は何ですか。
私は次の2つの方法を試しました。
例外をスローする
これにより、メッセージは手動で閲覧できるようにデッドレターキューに入れられます。私のstrviceが始まるときにこれを処理することができます
バインディングにreceiveRetryCount="3"を設定します
3回試行した後-これは瞬時に発生しますが、これはメッセージをキューに残しているようですが、私のサービスに障害があります。サービスを再起動すると、このプロセスが繰り返されます。
理想的には、次のことを行いたいと思います。
メッセージを処理してみてください
- これが失敗した場合は、そのメッセージを5分間待ってから、再試行してください。
- そのプロセスが3回失敗した場合は、メッセージをデッドレターキューに移動します。
- サービスを再起動すると、デッドレターキューからのすべてのメッセージがキューに戻され、処理できるようになります。
これを達成できますか?もしそうなら、どのように?特定のシーンでWCFとMSMQを最適に利用する方法に関する優れた記事を教えてください。
どんな助けでも大歓迎です。ありがとう!
いくつかの追加情報
WindowsXPおよびWindowsServer2003でMSMQ3.0を使用しています。残念ながら、MSMQ4.0およびVista/2008を対象とした組み込みのポイズンメッセージサポートを使用できません。
wmi - WMI を使用して MSMQ メッセージ キュー (プライベート キュー) を作成できますか?
リモート マシンにプライベート メッセージ キューを作成する必要がありますが、.NET Framework では単純な方法でこれを行うことができないという事実に解決しました。リモート マシンにパブリック メッセージ キューを作成できますが、プライベート キューは作成できません。メッセージ キュー (パブリックまたはプライベート) をローカルに作成できます。
WMI を介して MSMQ にアクセスする方法を誰かが知っているかどうか疑問に思っています。
編集: MSMQ プロバイダーを使用してそれを行うことは何もありません。PSExec を使用してリモート サーバーにログオンし、コードを実行する必要がある場合があります。
msmq - MSMQリスナーを動的に作成するための最良の方法は何ですか?
Spring.NETを使用して、アプリケーションの起動時にメッセージリスナーを作成していました。今、0-nリスナーを作成する機能が必要です。リスナーの中には、異なるキューをリッスンしているものもあります。実行時にそれらを作成/破棄できる必要があります。これを行うための最良の方法は何でしょうか?以前の春の構成は次のようなものでした。
新しいリスナーが必要になるたびに、このファイルが実行していることをプログラムで実行する必要がありますか?これにSpring.NETのメッセージングフレームワークを使用するべきではありませんか?
wcf - MSMQ 3.0 と Windows 2003 を使用して wcf サービスがドロップしているという Poison メッセージをログに記録したい
MSMQ 3.0 と Windows 2003 を使用して wcf サービスがドロップしているという Poison メッセージをログに記録したい
c++ - C++ の MSMQ サンプル?
C++ API からプライベート メッセージ キューを作成、追加、読み取り、破棄する方法の実例を教えてもらえますか? MSDN のコードを試してみましたが、正しく動作させることができません。
ありがとう
.net - リモート MSMQ をトランザクションで使用するにはどうすればよいですか?
MSMQ からメッセージを取得してレガシー システム (Baan) にポストする Windows サービスを作成しています。投稿が失敗したり、投稿中にマシンがダウンしたりしても、メッセージを失いたくありません。したがって、MSMQ トランザクションを使用しています。失敗すると中止し、成功するとコミットします。
ローカル キューに対して作業する場合、このコードはうまく機能します。しかし、本番環境では、サービスを実行しているマシン (または複数のマシン) をキュー自体から分離したいと考えています。リモート キューに対してテストすると、「トランザクションの使用法が無効です」という System.Messaging.MessageQueueException がスローされます。
問題のキューがトランザクション対応であることを確認しました。
キューから受信するコードは次のとおりです。
答え
それ以来、私はSQL Service Brokerに切り替えました。リモート トランザクション受信をサポートしていますが、MSMQ 3.0 はサポートしていません。さらに、おまけとして、クラスター化してバックアップした SQL Server インスタンスを既に使用しています。