3

これは、 MQ (Websphere 7)に基づくフォローアップで、メッセージをファイル システムに保持します。

メッセージを受信するたびに実行する MQ サポート パック (MA01 の Q ユーティリティなど) の .exe プログラムをどのようにセットアップしますか? これは MQ エクスプローラーでセットアップできますか? (Windows 2008/R2 で 7.0 を使用しています)。

4

1 に答える 1

3

これを行うにはいくつかの方法があります。

  1. アプリケーションをWindowsの制御下にセットアップします(QMgrはWindows上にあると述べたため)。アプリはサービスとして実行され、サービスが失敗した場合に再起動する回復オプションがあります。アプリケーションは、非常に長い待ち時間で GET を使用してキューを処理するようにプログラム (または Q の場合は構成) されます。QMgr が利用できない場合に適切な処理を行うには、追加のエラー処理が必要です。これは、メッセージを複数のキューにコピーする場合はうまく機能しますが、ファイルが閉じないため、キューからファイルへのコピーには適していません。
  2. アプリケーションを WebSphere MQ サービスとして実行します。SERVICEを使用してオブジェクトを定義するCONTRIL(QMGR)と、QMgr の起動時に MQ がサービスを開始し、QMgr のシャットダウン時にサービスを停止します。サービスは QMgr の子プロセスであるため、QMgr が使用できない場合のエラー処理について心配する必要はありません。
  3. ゼロ以外のキューの深さに基づいてプログラムをトリガーします。実行するコマンドを記述するプロセス オブジェクトを定義し、キューでのトリガーを有効にしTRIGTYPE(FIRST)、トリガー モニターを実行します。キューの深さが 0 を超えていて、開いている入力ハンドルがない場合は常に、プロセス オブジェクトが起動してコマンドを実行します。開始するものは、コマンド ラインを解析する方法を知っている必要があるため、他の人の実行可能ファイルを持っている場合に最も簡単なのは、スクリプトを使用してそれを開始することです。スクリプトはトリガー メッセージを解析し、実行可能ファイルを起動します。または、スクリプトがトリガー メッセージを無視して、exe を実行するだけかもしれません。私は通常、Korn シェルまたは Perl を使用しており、どちらも Windows で使用できます。

Q のトリガー バージョンを使用して、イベント キューがいっぱいにならないようにする方法を示す記事を書きました。キューの深さがゼロ以外になるたびに、同じ手法を使用して (ちなみに、はるかに単純な実装で) Q プログラムを起動することができます。

更新
おそらく記事をリンクしているはずです。;-)
ミッション:メッセージング: 循環キューによる管理とデバッグの簡素化

于 2012-11-13T21:23:39.687 に答える