5.2 J2EEアプリケーションの運用の概要

J2EEアプリケーションの運用とは,J2EEサーバにデプロイしたJ2EEアプリケーションに対して,日常業務の中で定型的な運用を実施したり,業務状況の変化に応じて適切に設定を変更してチューニングを実施したりすることです。

ここでは,J2EEアプリケーションを運用する作業の概要を説明します。

<この節の構成>
(1) タイムアウトしたリクエストをキャンセルする
(2) J2EEアプリケーションを停止する
(3) J2EEアプリケーションを強制停止する
(4) J2EEアプリケーションを入れ替える
(5) J2EEアプリケーションからネットワークリソースにアクセスする
(6) J2EEアプリケーションの運用の作業と参照先

(1) タイムアウトしたリクエストをキャンセルする

J2EEアプリケーションで実行しているリクエストが無限ループなどの原因によって制御できなくなった場合,リクエストを強制的にキャンセルして,リソースを解放する必要があります。あらかじめJ2EEアプリケーション内のメソッドの実行状態を監視しておくことで,予定した時間内に完了しないリクエストに対して,キャンセルを実行できます。

(2) J2EEアプリケーションを停止する

一日のうち特定の時間だけクライアントにサービスを提供するJ2EEアプリケーションでは,毎日決まった時間にJ2EEアプリケーションを停止して,次の日に再度開始する作業が必要です。また,24時間連続稼働させているサービスをメンテナンスする場合は,一度にすべてのJ2EEアプリケーションを停止するのではなく,一部ずつ停止させて,サービスを提供し続けられるような運用を検討する必要があります。J2EEアプリケーションを停止するとき,まず,リクエストの受け付けを停止して,すでに受け付けたリクエストについては処理を実行してからJ2EEアプリケーションを停止させる方法を,サービス閉塞といいます。日常運用の中でJ2EEアプリケーションを停止する場合,サービス閉塞を適切に実行することで,安全にサービスを停止できます。実行できるサービス閉塞の方法は,J2EEアプリケーションの構成やシステムの構成によって異なります。

(3) J2EEアプリケーションを強制停止する

日常運用でJ2EEアプリケーションを停止する場合や,トラブルが発生して即座にJ2EEアプリケーションを停止したい場合などに,J2EEアプリケーション内のリクエストが完了していないことが原因で停止処理が完了しないことがあります。この場合,J2EEアプリケーションを強制的に停止する必要があります。

J2EEアプリケーションの強制停止では,完了しないリクエストを強制的に終了させます。これによって,J2EEアプリケーションを停止できる状態にできます。

(4) J2EEアプリケーションを入れ替える

運用中のJ2EEアプリケーションをバージョンアップしたりメンテナンスしたりする場合,J2EEアプリケーションの入れ替え作業を実施します。

J2EEアプリケーションを入れ替える場合にサービスを停止したくないときは,適切なサービス閉塞をする必要があります。CTMを利用してJ2EEサーバへのクライアントからのリクエストを制御して,システム全体を停止させないでJ2EEアプリケーションを入れ替えられます。これによって,クライアントからのリクエストを受け付けながら,オンライン状態でJ2EEアプリケーションを入れ替えられます。なお,CTMで制御できるのは,RMI-IIOP通信を使用する,Stateless Session Beanに対するリモートインタフェース呼び出しのリクエストだけです。

なお,CTMは,構成ソフトウェアにComponent Transaction Monitorを含む製品だけで利用できます。利用できる製品については,マニュアル「アプリケーションサーバ & BPM/ESB基盤 概説」の「2.2.1 製品と構成ソフトウェアの対応」を参照してください。

(5) J2EEアプリケーションからネットワークリソースにアクセスする

J2EEアプリケーションから,ネットワークリソースのパスをUNCまたはネットワークドライブを使用してアクセスできます。なお,この機能はWindowsの場合に使用します。UNIXの場合,特に設定をしなくても,J2EEアプリケーションからネットワークリソースにアクセスできます。

(6) 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フロントに負荷分散機を使用している場合に,次の方法でサービスを閉塞します。
  • 負荷分散機のリクエストの振り分け先を変更する
  • 負荷分散機を停止する
  • サービスを構成する一部の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,cjimportappJ2EEアプリケーションを停止してから新しいアプリケーションに入れ替えます。入れ替え後,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コマンドを使用します。