ページの先頭行へ戻る
Interstage Application Server OLTPサーバ運用ガイド
Interstage

4.1.2 CORBAワークユニットの停止

CORBAワークユニットの停止方法について説明します。

ワークユニットの停止方式には、以下の3つ種類があります。

通常停止

該当ワークユニットに定義されているすべてのアプリケーションが処理中でない場合に限りワークユニットを停止します。ワークユニットが業務処理中の場合、ワークユニットは停止できません。この場合、アプリケーションの処理の完了を待ってから、再度このコマンドを実行してください。

同期停止

コマンド実行時にサーバアプリケーションプロセス上で処理中の要求の実行が完了した後、ワークユニットを停止します。待ち状態となっている要求はリジェクトされ、新たな要求は処理されません。

強制停止

強制停止は、アプリケーションが処理中であってもワークユニットを停止します。
待ち状態となっている要求はリジェクトされます。


ポイント

  • 通常停止または同期停止の処理中でも、同一ワークユニットに対して強制停止を実行することができます。アプリケーションの処理遅延やハングなどが原因で通常停止または同期停止が終了しない場合は、停止中のワークユニットを強制停止に切り換えて終了させてください。

  • CORBAワークユニットの停止は、停止完了までの監視時間を指定できます。なんらかの理由により監視時間を超えてプロセスが終了しなかった場合、プロセスを完全停止させます。

  • 複数のワークユニットを同時並行で停止することもできます。

  • ワークユニットの停止は、ワークユニットを起動したユーザ、または、OSの管理者権限を持つユーザでのみ停止できます。


コマンドを使用する方法

isstopwuコマンドでワークユニット名を指定して停止します。

isstopwu ISSAMPLE1

同期停止を行う場合は、isstopwuコマンドで「-s ワークユニット名」を指定してください。
強制停止を行う場合は、isstopwuコマンドで「-c ワークユニット名」を指定してください。停止中のワークユニットを強制停止する場合は、別の端末エミュレータからコマンドを実行してください。
isstopwuコマンドが複数同時に実行された場合、ワークユニットは同時並行で停止されます。


ワークユニットの停止に成功した場合、コマンドの応答メッセージとして、以下のメッセージが出力されます。

isstopwu: 情報: is30199:コマンドが正常に終了しました

ワークユニットの停止に失敗した場合、コマンドの応答メッセージとして、原因を示すメッセージが出力されます。出力されているメッセージの対処を「メッセージ集」で確認し、原因を取り除いた後、再度ワークユニットを停止してください。なお、原因を示すメッセージは、同時にシステムログに出力される場合がありますので、システムログも確認し、出力されているメッセージの対処に従ってください。


Interstage管理コンソールを使用する方法

ワークユニットの起動は、以下の手順で行います。

  1. Interstage管理コンソールにログインします。

  2. Interstage管理コンソールの
    [Interstage管理コンソール] > [Interstage Application Server] > [システム] > [ワークユニット]の[状態]タブ
    または、
    [Interstage管理コンソール] > [Interstage Application Server] > [システム] > [ワークユニット] > [ワークユニット名]の[操作]タブ
    でワークユニットの停止操作を行います。3つの停止方法から1つを選択して停止してください。
    なお、[Interstage管理コンソール] > [Interstage Application Server] > [システム] > [ワークユニット]の[状態]タブで、ワークユニットの[チェックボックス]を複数選択し、停止した場合、ワークユニットは同時並行で停止されます。その場合、選択したワークユニットの停止がすべて完了してから応答が返ります。


ワークユニットの停止に成功した場合、Interstage管理コンソールに、以下のメッセージが出力されます。

IS: 情報: is41005: CORBAアプリケーションが正常に停止しました(ワークユニット名=%s)

ワークユニットの起動に失敗した場合、Interstage管理コンソールに、以下のメッセージが出力されます。

IS: エラー: is20450:ワークユニット(%s)の処理に失敗しました 理由コード(%d)

%sには、ワークユニット名が表示されます。
%dには、理由コードが表示されます。理由コードは「メッセージ集」の該当メッセージIDの説明に記載されています。理由コードに応じた処置を行い、ワークユニットを再起動してください。
また、原因を示すメッセージは、同時にシステムログに出力される場合があります。システムログも確認し、出力されているメッセージの対処に従い、原因を取り除いた後、ワークユニットを再起動してください。

なお、同期停止を選択した場合で、アプリケーションの処理遅延などの原因により停止処理に時間がかかった場合、停止開始から60秒が経過するとis20450メッセージが出力され、停止処理中のままInterstage管理コンソール上ではエラー復帰します。その場合、しばらくしてから状態の再取得を実施し停止が完了したかどうかを確認してください。停止処理中から変化しない場合は、強制停止を実行することができます。


4.1.2.1 Interstage Application Serverの停止に連動したワークユニット停止

Interstage Application Serverを「起動サービス強制停止」モードまたは「全強制停止」モードで停止した場合、運用中のワークユニットは、全て強制停止されます。この時、ワークユニットの停止は、全て同時並行で停止されます。
なお、この場合、ワークユニット停止を示すメッセージは出力されません。


4.1.2.2 停止時間監視

ワークユニットの停止が実行された場合、プロセスの停止が完了するまでの待ち時間を指定することができます。ワークユニットのプロセス強制停止時間が指定されている場合、停止処理がハングアップした場合に、プロセスを完全停止させることができます。

なお、ワークユニットのプロセス強制停止時間は、0から65535の値を指定することができます。デフォルトが180秒です。変更する場合は、ワークユニット定義コマンドまたはInterstage管理コンソールよりワークユニットの環境設定を変更してください。なお、停止完了まで処理を中断したくない場合は、ワークユニットのプロセス強制停止時間に0を指定します。


コマンドを使用する方法

ワークユニット定義の「Shutdown Time(プロセス強制停止時間)」に監視時間を設定してください。

ワークユニット定義ファイル

[Control Option]
Shutdown Time:200

isaddwudefコマンドでワークユニット名を指定して登録します。

isaddwudef -o ISSAMPLE1

Interstage管理コンソールを使用する方法

  1. Interstage管理コンソールにログインします。

  2. Interstage管理コンソールの
    [Interstage管理コンソール] > [Interstage Application Server] > [システム] > [ワークユニット]の[新規作成]タブ
    または、
    [Interstage管理コンソール] > [Interstage Application Server] > [システム] > [ワークユニット] > [ワークユニット名]の[環境設定]タブ
    で[ワークユニット設定]の「プロセス強制停止時間」に監視時間を設定してください。