3

受信したすべてのメッセージがすぐにファイル システムに書き込まれるように MQ を設定するにはどうすればよいですか? 私は「レッドブック」を持っていますが、少なくとも誰かがそれを理解するために本の章または見出しを教えてくれる必要があります.

私たちは .NET ショップです。キューを読み取るために API 経由で C# を作成しました。現在、BizTalk MQ アダプターを使用しています。最終的な目標は、同じメッセージをファイル システムの複数のディレクトリに書き込み、さまざまなテスト環境 (DEV、STAGE、TRAINING など) のフィードを「複製」することです。BizTalk の問題は、メッセージを消費すると同時に新しいメッセージにマップするため、メッセージは既に変更されており、モーフィングされたメッセージではなく、元の生のメッセージを複製する必要があることです。当社のベンダーは、フィードの複数のコピーを提供していません。たとえば、DEV と PROD を提供していますが、社内には 4 つのシステムがあります。

C# Windows サービスを使用してそれを実行できると思いますが、可能であれば MQ の組み込み機能を使用したいと思います。

4

1 に答える 1

2

設定は必要ありません。メッセージが永続的である場合、WMQ はそれをディスクに書き込みます。ただし、それらは個別のメッセージとして書かれていないため、役に立たないと思います。コピーするディスク ファイルはなく、レプリケーションは、レプリケートされた QMgr がプライマリと同一であり、レプリケーション中にオフラインである場合にのみ機能します。

この問題にはいくつかの解決策がありますが、WMQ V7 の時点で最も簡単な解決策は、組み込みの Pub/Sub 機能を使用することです。これは、メッセージが QMgr-to-QMgr チャネルを介して到着し、それらを消費するキューに到達することを前提としています。

その場合、キューを削除して、トピックに同じ名前のエイリアスを作成することができます。次に、新しいキューを作成し、トピックに関するメッセージを新しいキューに配信する管理サブスクリプションを定義します。アプリは新しいキューから消費します。

フィードを別の QMgr またはアプリケーションに送信する必要がある場合は、新しいサブスクリプションを定義し、それを新しい宛先キューに向けます。これは Pub/Sub であるため、MQ はサブスクリプションの数だけ元のメッセージをレプリケートし、最初のアプリケーションとそのメッセージは影響を受けません。送信する必要がある送信先に MQ チャネル経由でアクセスできない場合 (たとえば、DEV と QA が接続されていない可能性があります)、メッセージを新しいキューに配信し、SupportPac MO03の QLoad を使用してメッセージをファイルに書き込み、次に、QLoad の別のインスタンスを使用して、それらを別の QMgr にロードします。それらをリアルタイムで移動したい場合は、SupportPac MA01から Q プログラムをセットアップできます。それらを QMgr1 の新しいサブスクリプション キューから QMgr2 の宛先キューに直接移動します。また、必要な数のシステム間でレプリケートできます。

SupportPacs のメイン ページはこちらです。

Redbooks だけを使用している場合は、Infocenters を参照することをお勧めします。必ず、使用している WMQ のバージョンと一致する Infocenter を使用してください。

于 2012-11-08T20:33:43.887 に答える