3.7.3 UAP共用ライブラリ入れ替え機能
UAP共用ライブラリ入れ替え機能を使用すると,オンライン中のTP1/EEプロセスを停止させないでUAP共用ライブラリを入れ替えられます。
UAP共用ライブラリ入れ替え機能を使用する場合は,ユーザサービス関連定義のuap_exchange_useオペランドにYを指定してください。
入れ替え先UAP共用ライブラリを用意したあとでeechgapコマンドを実行すると,UAP共用ライブラリを入れ替えられます。UAP共用ライブラリを入れ替える手順について説明します。手順2.〜4.は,eechgapコマンドで実行してください。
-
任意のディレクトリ下に入れ替え先UAP共用ライブラリを用意します。
入れ替え先UAP共用ライブラリの名称は,使用中のライブラリ名と同じ名称にする必要はありません。
-
TP1/EEプロセスのすべてのトランザクションをUAPリターン後に停止させます(トランザクションの静止化)。
-
ユーザが用意した入れ替え先UAP共用ライブラリと,入れ替え元UAP共用ライブラリを入れ替えます。
-
トランザクションの停止を解除して,通常の処理に戻ります(トランザクションの静止化状態の解除)。
トランザクションの静止化およびトランザクションの静止化状態の解除について説明します。
(1) トランザクションの静止化
トランザクションの静止化では,サービストランザクションが登録してあるサービスから処理キューの引き出しを一時的に禁止して,サービストランザクションの起動を一時的に停止させます。サービストランザクションとは,ユーザサービス関連定義でエントリポインタ名を指定してUAPを起動するすべてのトランザクションのことです。
トランザクションの静止化中にイベントを受信した場合は,そのまま処理キューを登録しますが,処理キューの滞留監視の対象外となります。
トランザクションの静止化が完了するのは,起動中のトランザクションがすべてUAPリターンした時点です。
入れ替えるUAPがCOBOL言語で作成されている場合(プロセス関連定義のcobol_use_flagオペランドにYを指定している場合)は,トランザクションの静止化の要求時に起動しているトランザクションが決着したあと,UAP共用ライブラリを入れ替える前にCOBOL実行空間を削除します。トランザクションの静止化が完了するのは,COBOL実行空間の削除が完了した時点です。
(3) 注意事項
-
UAP共用ライブラリ入れ替え機能の実行中にエラーが発生した場合は,UAP共用ライブラリを入れ替えません。
-
UAP共用ライブラリ名はTP1/EE開始時にステータスファイルに出力されます。UAP共用ライブラリ入れ替え機能の実行中にプロセスダウンした場合は,TP1/EE開始時に取得したステータスファイルの情報を基にプロセスを回復します。TP1/EEプロセスの再開始前と再開始後でUAP共用ライブラリ定義数が異なっている場合は,再開始処理でプロセスダウンします。したがって,UAP共用ライブラリ入れ替え機能を使用する場合は,UAP共用ライブラリ定義数(ユーザサービス関連定義のmoduleオペランドで指定)を変更しないでください。
-
TP1/EEは,トランザクションの静止化から解除までの静止化状態を監視します。静止化状態が1分以上続いている場合は,静止化中であることを警告するKFSB40810-Wメッセージを,1分間隔で出力します。ただし,eechgapコマンドを実行するタイミングによってメッセージの出力間隔に誤差が発生することがあります。
-
トランザクションの静止化の処理中にエラーが発生した場合,トランザクションの静止化の処理中または静止化状態の解除後に,次に示すトランザクションが起動します。
- トランザクションの静止化の処理中に起動するトランザクション
-
回復トランザクション
エラー再送トランザクション
ERRTRN3
ERRTRNR
- トランザクションの静止化状態の解除後に起動するトランザクション
-
ERRTRNS
-
次の図に示すUAP共用ライブラリの入れ替えを実行しないでください。実行した場合の動作は保障しません。