Postcard - 作動方法

メイン・コンテンツをスキップ

開始中です

Postcard が開始すると、どのキュー・マネージャーがこのコンピューターに存在するかをチェックし、したがってサインオン・ダイアログを初期化します (キュー・マネージャーがまったくない場合には、デフォルト構成 をインストールするようプロンプトが出されます)。

Postcard は、デフォルトのキュー・マネージャーに接続するために、 JMS 呼び出し queueConnectionFactory.createQueueConnection() を使用します。

メッセージの受信

Postcard の実行中には、他の Postcard からの着信メッセージの postcard と呼ばれるキューをポーリングします。(postcard と呼ばれるキューがない場合には、Postcard がこの作成を試行します。)

Postcard が実行を開始すると、ローカル postcard キューのために JMS QueueReceiver オブジェクトを作成しますが、これは、相関 ID (CorrelId フィールド) によって、キューから受信されるメッセージをフィルターに掛けるセレクター・ストリングのパラメーターとして提供されます。 セレクター・ストリングは、CorrelID フィールドがユーザーのニックネームと一致するメッセージのみを、postcard クライアントが受信することを定義します。 次に、メッセージ・データからの語「JMS Postcard」ウィンドウに表示されます。

メッセージの送信

位置: フィールドにコンピューター名を入力しなかった場合、Postcard では、受信側が同じキュー・マネージャー上にあると想定します。

名前を入力した場合、postcard はこの名前を持つキュー・マネージャーが存在するかどうかを、まず指定された正確な名前を使用して、次にデフォルト構成 によって作成された同じ形式の接頭部を使用して確認します。

いずれも場合でも、JMS Postcard は session.createQueue("postcard") コマンドを発行して、指定されたストリングに基本キュー・マネージャー名を設定します。

最後に、JMS Postcard は、ニックネームおよび入力された語から JMS BytesMessage を作成し、 メッセージをキューに置くための queueSender.send(theMessage) を実行します。

ここで PostCard を取得する方法

このコンピューター上の Postcard の他のインスタンスが、同じキュー・マネージャーおよびキューを使用するときは、メッセージは単純に 1 つのキューに置かれ、そのキューから受け取られます。 しかしこれにより、このコンピューターにインストールされた WebSphere MQ コードが正しく構成され、機能するかが検査されます。

PostCard が別のキュー・マネージャーに送信する場合、接続は これに存在しなければなりません。両方のキュー・マネージャーが同じクラスターのメンバーであるか、または接続を自分で明示的に作成したため、この接続は存在します。 したがって、 Postcard はキュー・マネージャーが接続可能と見なし、以前説明したように、キュー・マネージャーと接続し、 キューをオープンしてメッセージを書き込むだけです。そこからメッセージを読み取るすべての作業は、WebSphere MQ クラスター・コードにゆだねられます。 言いかえると、 Postcardはメッセージを書き込むためのコードの 1 断片だけを使用し、メッセージが別のコンピューターに送られるかどうかを知る必要はありません。

Postcard では、session.createSender("postcard") が呼び出されると、クラスター・コードがリポジトリーを調べ、他のキュー・マネージャーを探して、キューが存在するかどうかを確認します。何らかの理由でこれが可能でなかった場合には例外が発生します。

queueSender.send(theMessage) が呼び出されると、クラスター・コードは他のキュー・マネージャーへのチャネルをオープン (必要であれば作成) し、メッセージを送信します。

そのチャネルがクラスター最適化コードに必要ない場合には、後で廃棄される場合があります。 キュー・マネージャーが異なるコンピューター上にある場合には、これはクラスター・コードによってすべてハンドルされます。

配布不能メッセージの整理

Postcard を "John" に送信しても、 "John" のニックネームで Postcard が実行されなければ、そのメッセージはキューに留まったままとなります。これを避けるために、Postcard は メッセージ記述子 (MQMD) の「メッセージ存続期間 (Expiry)」フィールドを 48 時間に設定します。 この時間が経過すると、メッセージはどこにあっても (あるいは、まだ伝送中であっても) 廃棄されます。


商標

ヘルプや解説書についてのコメントを idrcf@hursley.ibm.com にお寄せください。

(C) IBM Corporation 1996, 2002. All Rights Reserved