メッセージ・キューへの書き込みは EGL add ステートメントを使用し、メッセージ・キューからの読み取り は get next ステートメントを使用します。
プログラムで WebSphere® MQ レコードについて初めて EGL ステートメントを使用すると、EGL はキュー・マネージャーへのアクティブな接続があるかどうかを検査します。 ない場合には、1 つの接続を作成します。
メッセージ・キューに対して読み取りまたは書き込みを行った後で、変更のコミットまたはロールバックを行うことができます。
EGL プログラムで同時に接続できるのは 1 つのキュー・マネージャーのみです。
EGL は、プログラムの最初の add ステートメントまた は get next ステートメントでキュー・マネージャーに自動的に接続します。この際に、メッセージ・キュー・レコードに関連付けられたシステム・リソース名で指定されたキュー・マネージャー名を使用します。 キュー・マネージャー名が指定されていない場合は、ご使用のシステムに定義されている デフォルトのキュー・マネージャーが使用されます。 EGL は、プログラムの終了時に自動的にキュー・マネージャーから切断し、 開いているファイルをすべて閉じます。そして、作業単位がまだ開いている場合には、現在の作業単位をコミットします。
MQCONN および MQDISC について詳しくは 、WebSphere MQ API 直接呼び出しの使用を参照してください。 ワークステーション環境 (Windows NT、OS/2、AIX®、Solaris、および HP) では、WebSphere MQ は、 プログラムがメッセージ・キュー・マネージャーと同じシステム上で稼働しているかどうかという点や 、サーバー・システム上のマネージャーと通信する WebSphere MQ クライアントとしてプログラムが稼働しているかどうかという点に応じて、WebSphere MQ プログラム用にさまざまなランタイム・ライブラリーを提供します。 AIX および HP システムでは、同様に、スレッド化環境および非スレッド化環境について、別々のライブラリーが提供されます。
EGL は、今後の add ステートメントのために、接続ハンドルを保存します。
EGL は、プログラムの終了処理時に、キューへの接続を自動的に閉じます。
EGL は、プログラムの終了処理時に、キューへの接続を自動的に閉じます。
作業単位を定義するトランザクションでメッセージを結合するときに、 メッセージをグループとしてコミットするかロールバックすることができます。 作業単位がコミットされると、トランザクションに含まれるものはすべてファイナライズされます。 作業単位がロールバックされると、トランザクションに含まれるものはすべて除去されます。
これらのトランザクション環境において、メッセージ・キューのコミットおよびロールバックは、2 フェーズ・コミット・プロトコルを使用して、DB2® データベースのようなその他のリカバリー可能 リソースのコミットおよびロールバックと連動します。
その他の環境では、別々のマネージャーのリソースはそれぞれ単独でコミットされます。 sysLib.commit() および sysLib.rollback() を使用すると、EGL は、コミットおよびロールバック用の適切な WebSphere MQ 呼び出しを自動的に実行します。