J2EEアプリケーションの運用とは,J2EEサーバにデプロイしたJ2EEアプリケーションに対して,日常業務の中で定型的な運用を実施したり,業務状況の変化に応じて適切に設定を変更してチューニングを実施したりすることです。
ここでは,J2EEアプリケーションを運用する作業の概要を説明します。
J2EEアプリケーションで実行しているリクエストが無限ループなどの原因によって制御できなくなった場合,リクエストを強制的にキャンセルして,リソースを解放する必要があります。あらかじめJ2EEアプリケーション内のメソッドの実行状態を監視しておくことで,予定した時間内に完了しないリクエストに対して,キャンセルを実行できます。
一日のうち特定の時間だけクライアントにサービスを提供するJ2EEアプリケーションでは,毎日決まった時間にJ2EEアプリケーションを停止して,次の日に再度開始する作業が必要です。また,24時間連続稼働させているサービスをメンテナンスする場合は,一度にすべてのJ2EEアプリケーションを停止するのではなく,一部ずつ停止させて,サービスを提供し続けられるような運用を検討する必要があります。J2EEアプリケーションを停止するとき,まず,リクエストの受け付けを停止して,すでに受け付けたリクエストについては処理を実行してからJ2EEアプリケーションを停止させる方法を,サービス閉塞といいます。日常運用の中でJ2EEアプリケーションを停止する場合,サービス閉塞を適切に実行することで,安全にサービスを停止できます。実行できるサービス閉塞の方法は,J2EEアプリケーションの構成やシステムの構成によって異なります。
日常運用でJ2EEアプリケーションを停止する場合や,トラブルが発生して即座にJ2EEアプリケーションを停止したい場合などに,J2EEアプリケーション内のリクエストが完了していないことが原因で停止処理が完了しないことがあります。この場合,J2EEアプリケーションを強制的に停止する必要があります。
J2EEアプリケーションの強制停止では,完了しないリクエストを強制的に終了させます。これによって,J2EEアプリケーションを停止できる状態にできます。
運用中のJ2EEアプリケーションをバージョンアップしたりメンテナンスしたりする場合,J2EEアプリケーションの入れ替え作業を実施します。
J2EEアプリケーションを入れ替える場合にサービスを停止したくないときは,適切なサービス閉塞をする必要があります。CTMを利用してJ2EEサーバへのクライアントからのリクエストを制御して,システム全体を停止させないでJ2EEアプリケーションを入れ替えられます。これによって,クライアントからのリクエストを受け付けながら,オンライン状態でJ2EEアプリケーションを入れ替えられます。なお,CTMで制御できるのは,RMI-IIOP通信を使用する,Stateless Session Beanに対するリモートインタフェース呼び出しのリクエストだけです。
なお,CTMは,構成ソフトウェアにComponent Transaction Monitorを含む製品だけで利用できます。利用できる製品については,マニュアル「アプリケーションサーバ & BPM/ESB基盤 概説」の「2.2.1 製品と構成ソフトウェアの対応」を参照してください。
J2EEアプリケーションから,ネットワークリソースのパスをUNCまたはネットワークドライブを使用してアクセスできます。なお,この機能はWindowsの場合に使用します。UNIXの場合,特に設定をしなくても,J2EEアプリケーションからネットワークリソースにアクセスできます。
J2EEアプリケーションの運用の作業と参照先を,表5-2から表5-5に示します。なお,J2EEアプリケーションからのネットワークリソースまたはネットワークドライブへのアクセスについては,事前に設定するだけで使用できるため,運用時の作業はありません。
表5-2 J2EEアプリケーションの実行時間の監視とキャンセル
作業内容 | 手段 | 作業概要 | 参照先マニュアル | 参照先 |
---|---|---|---|---|
J2EEアプリケーションの実行状態の確認 | サーバ管理コマンド(cjlistthread) | 実行中のJ2EEアプリケーションの実行状態を確認します。 | このマニュアル | 5.3.11 |
タイムアウトが発生したリクエストのキャンセル | サーバ管理コマンド(cjstopthread) | J2EEアプリケーション内で実行されているリクエストのうち,終了しないリクエストをキャンセルします。 | 5.3.12 |
表5-3 J2EEアプリケーションの閉塞
作業内容 | 手段 | 作業概要 | 参照先マニュアル | 参照個所 |
---|---|---|---|---|
負荷分散機を使用したサービス閉塞 | 負荷分散機の機能 | Webフロントに負荷分散機を使用している場合に,次の方法でサービスを閉塞します。
| このマニュアル | 5.4.3 |
CTMを利用したサービス閉塞 | 運用管理コマンド(mngsvrutil) | CTMを使用しているバックシステムで,ホスト内のJ2EEアプリケーションを一度に停止したり,キューを共有するJ2EEアプリケーションを一度に停止したりする場合,J2EEアプリケーションのスケジュールキューに対して直接閉塞を実行します。 | 機能解説 拡張編 | 3.7.4 |
表5-4 J2EEアプリケーションの停止
作業内容 | 手段 | 作業概要 | 参照先マニュアル | 参照個所 |
---|---|---|---|---|
J2EEアプリケーションの停止 | サーバ管理コマンド(cjstopapp) | J2EEアプリケーションを通常停止,または強制停止します。通常停止にタイムアウトを設定して,強制停止を自動で実行することもできます。 | このマニュアル | 5.5.7 |
表5-5 J2EEアプリケーションの入れ替えと保守
作業内容 | 手段 | 作業概要 | 参照先マニュアル | 参照個所 |
---|---|---|---|---|
J2EEアプリケーションの通常入れ替え | サーバ管理コマンド(cjstopapp,cjimportapp※) | J2EEアプリケーションを停止してから新しいアプリケーションに入れ替えます。入れ替え後,J2EEアプリケーションを再開始します。 | このマニュアル | 5.6.3(1) |
リデプロイによるJ2EEアプリケーションの入れ替え | サーバ管理コマンド(cjreplaceapp) | リデプロイによってJ2EEアプリケーションを入れ替えます。アーカイブ形式のJ2EEアプリケーションを入れ替える場合に,少ない手順で入れ替えることができます。 | 5.6.3(2) | |
リロードによるJ2EEアプリケーションの入れ替え | サーバ管理コマンド(cjreloadapp) | リロードによってJ2EEアプリケーションを入れ替えます。展開ディレクトリ形式のJ2EEアプリケーションを入れ替える場合に,少ない手順で入れ替えることができます。 | 5.6.3(3) | |
JSPを事前にコンパイルしてから実行するJ2EEアプリケーションの入れ替え | サーバ管理コマンド(cjstartapp)/cjjspcコマンド | JSP事前コンパイル機能を使用して,JSPを事前にコンパイルしてからJ2EEアプリケーションを入れ替えます。 | 5.6.3(4) | |
J2EEアプリケーションの名称変更 | サーバ管理コマンド(cjrenameapp) | 名称を変更して,入れ替え前や入れ替え後のJ2EEアプリケーションを管理しやすくします。 | 5.6.3(5) | |
CTMを利用したオンライン状態でのJ2EEアプリケーションの入れ替え | 運用管理コマンド(mngsvrutil) | スケジュールキューの出口を閉じたあと,J2EEアプリケーションを入れ替えます。 | 機能解説 拡張編 | 3.7.2 |
注※ WARアプリケーションの場合,cjimportwarコマンドを使用します。