1 つのプログラムで上記の 2 つの方法を組み合わせて使用することもできます 。しかし、通常はいずれか一方のみを使用します。
どの方法を使用するかにかかわらず、オプション・レコード をカスタマイズすることによってさまざまなランタイム条件を制御できます。このレコードは、EGL ランタイム・サービスが MQSeries への呼び出しで渡すグローバル基本レコードです。 オプション・レコードをプログラム変数として宣言すると、EGL のインストール済みオプション・レコード・パーツを typedef として使用でき ます。つまり、インストール済みパーツを自身の EGL ファイルにコピーしてパーツをカスタ マイズし、カスタマイズしたパーツを typedef として使用することができます。
1 度に接続できる接続キュー・マネージャーは 1 つのみです。ただし、接続キ ュー・マネージャーの管理下にあるキューであれば 1 度に複数のキューに接続で きます。現行の接続キュー・マネージャー以外のキュー・マネージャーに直接接続す るには、まず MQDISC を呼び出して最初のキュー・マネージャーを切断してから、add、get next、MQCONN、MQCONNX のいずれかを呼び出して 2 番目のキュー・マネージ ャーに接続する必要があります。
また、リモート・キュー・マネージャー の管理下にあるキューにアクセスでき ます。リモート・キュー・マネージャーとは、接続キュー・マネージャーとの相互作用 が可能なキュー・マネージャーです。2 つのキュー・マネージャー間のアクセスは、MQSeries 自体がこのようなアクセスを許可するよう構成されている場合にのみ可能です。
接続キュー・マネージャーへのアクセスが終了するのは、MQDISC を呼び出すか 、コードが終了した場合です。
queue-access ステートメントが作業単位内にない場合は、メッセージ・ キューに対する変更はそれぞれ即時にコミットされます。
コードによって作業単位が終了すると、EGL はプログラムによってアクセスさ れているすべて の回復可能リソースをコミットまたは ロールバックします。これにはデータベース、メッセージ・キュー、およ び回復可能ファイルが含まれます。このような結果は、システム機能 (sysLib.commit、sysLib.rollback) を使用する場合、または EGL が MQSeries (MQCMIT, MQBACK) を呼び出す場合にも発生します。いずれの場合も適切な EGL システム機能が呼び出されます。
ロールバックが発生するのは、EGL ランタイム・サービスにより検出されたエ ラーが原因で EGL プログラムが早期に終了した場合です。
add 文と get next 文のデフォルト処理に依存せずに MQSeries との相互作用をカスタマイズする場合は、このセクションの情報を検討してください。
EGL dataTable パーツ一式は、MQSeries と対話する場合に有効です。 実行時に、各パーツにより、EGL 提供の関数がメモリー・ベースのリストから値を検索できるようにします。次のセクションでは、 データ・テーブルの配置方法の詳細について説明します。
作業内容は次のとおりです。
installationDir¥egl¥eclipse¥plugins¥ com.ibm.etools.egl.generators_version¥MqReusableParts
詳細については、『インポート』を参照してください。
MQGMO.GETOPTIONS = MQGMO_LOCK + MQGMO_ACCEPT_TRUNCATED_MSG + MQGMO_BROWSE_FIRST
関連するタスク
非 EGL JAR ファイルへのアクセスの提供