Sun Java System Application Server Enterprise Edition 8.2 管理ガイド

第 8 章 J2EE コンテナ

この章では、サーバーに含まれている J2EE コンテナの設定方法について説明します。この章には次の節が含まれています。

J2EE コンテナのタイプ

J2EE コンテナは J2EE アプリケーションコンポーネントの実行時サポートを提供します。J2EE アプリケーションコンポーネントは、コンテナのプロトコルとメソッドを使用して、サーバーが提供するほかのアプリケーションコンポーネントとサービスにアクセスします。Application Server は、アプリケーションクライアントコンテナ、アプレットコンテナ、Web コンテナ、およびEJB コンテナを提供します。コンテナを示す図については、「Application Server のアーキテクチャー」の節を参照してください。

Web コンテナ

Web コンテナは、Web アプリケーションをホストする J2EE コンテナです。Web コンテナは サーブレットと JSP (JavaServer Pages) の実行環境を開発者に提供することにより、Web サーバーの機能を拡張します。

EJB コンテナ

Enterprise JavaBeans (EJB コンポーネント) は、ビジネスロジックを含む Java プログラミング言語サーバーコンポーネントです。EJB コンテナは、Enterprise JavaBeans へのローカルアクセスとリモートアクセスを提供します。

Enterprise JavaBeans には、セッション Beans、エンティティー Beans、および メッセージ駆動型 Beans があります。セッション Beans は一時的なオブジェクトやプロセスを表し、通常は 1 つのクライアントが使用します。エンティティー Beans は通常データベースに保持されている持続性データを表します。メッセージ駆動型 Beans は、メッセージを非同期でアプリケーションモジュールやサービスに渡すために使われます。

コンテナの機能は、Enterprise JavaBean を作成したり、ほかのアプリケーションコンポーネントが Enterprise JavaBean にアクセスできるように Enterprise JavaBean をネームサービスにバインドしたり、承認されたクライアントだけが Enterprise JavaBean メソッドにアクセスできるようにしたり、Bean の状態を持続的記憶領域に保存したり、Bean の状態をキャッシュしたり、必要に応じて Bean を活性化したり、非活性化したりすることです。

J2EE コンテナの設定

一般的な Web コンテナ設定の設定

このリリースでは、管理コンソールに Web コンテナのコンテナ全体に関する設定はありません。

Web コンテナセッションの設定

この節では、Web コンテナの HTTP セッション設定について説明します。HTTP セッションは、持続ストアに書き込まれた状態データを持つ独自の Web セッションです。

セッションタイムアウト値の設定

管理コンソール を使用して、HTTP セッションのタイムアウト値を設定します。セッションタイムアウト値は、HTTP セッションが有効である時間を表します。

管理コンソール で、「設定」>「Web コンテナ」>「セッションプロパティー」の順にクリックします。「セッションタイムアウト」フィールドで、セッションが有効である秒数を入力します。

セッションタイムアウト値の設定方法の詳細については、管理コンソール で「ヘルプ」をクリックしてください。

マネージャープロパティーの設定

セッションマネージャーを使用して、セッションを作成および破棄する方法、セッション状態を格納する場所、およびセッションの最大数を設定できます。

管理コンソール でセッションマネージャーの設定を変更するには、「設定」>「Web コンテナ」>「マネージャープロパティー」の順にクリックします。

「マネージャープロパティー」タブで、次のプロパティーを設定します。

マネージャープロパティーの設定方法の詳細については、管理コンソール で「ヘルプ」をクリックしてください。

ストアプロパティーの設定

セッションストアデータの保存先を指定するには、管理コンソール で、「設定」>「Web コンテナ」>「ストアプロパティー」の順にクリックします。

セッションストアプロパティーの設定方法の詳細については、管理コンソール で「ヘルプ」をクリックしてください。

仮想サーバー設定の設定

Application Server をインストールすると、Application Server インスタンスに対してデフォルトの仮想サーバーが作成されます。この仮想サーバーのデフォルトの docroot は、instance-dirdomains/domain1/docroot に作成されます。これは、instance_name /docroot と同期化されます。仮想サーバーは、追加で作成するそれぞれの Application Server インスタンスに対して作成されます。

一般的な EJB 設定の設定

この節では、サーバー上のすべての Enterprise JavaBean コンテナに適用される、次の設定を説明します。

デフォルト値をコンテナ別にオーバーライドするには、sun-ejb-jar.xml ファイル内で Enterprise JavaBeans の値を調整します。詳細については、『Application Server Developer’s Guide』を参照してください。

セッション格納位置

「セッション格納位置」フィールドは、ファイルシステムで非活性化された Beans と持続的な HTTP セッションが保存されるディレクトリを指定します。

非活性化された Beans とは、ファイルシステムのファイルに状態を書き込まれた Enterprise JavaBeans です。非活性化された Beans は、通常、特定の時間内のアイドル状態にあり、現在クライアントによってアクセスされていません。

非活性化された Beans と同じく、持続的な HTTP セッションはファイルシステム上のファイルに状態を書き込まれた個別の Web セッションです。

「コミットオプション」フィールドで、コンテナがトランザクション間の非活性化されたエンティティー Bean インスタンスをキャッシュする方法を指定します。

オプション B はトランザクション間のエンティティー Bean インスタンスをキャッシュし、デフォルトで選択されます。オプション C はキャッシュを無効にします。

EJB プール設定の設定

Beans の作成によってパフォーマンスに影響を受けることなく、クライアントの要求に応答するために、コンテナは Enterprise JavaBeans のプールを保持します。これらの設定は、ステートレスセッション Beans とエンティティー Beans だけに適用されます。

配備した Enterprise JavaBeans を使用するアプリケーションでパフォーマンス上の問題がある場合は、プールを作成したり、既存のプールで保持される Beans の数を増やしたりすることによって、アプリケーションのパフォーマンスを向上させることができます。

デフォルトで、コンテナは Enterprise JavaBeans のプールを保持しています。

EJB キャッシュ設定の設定

コンテナは、最もよく使われる Enterprise JavaBeans の Enterprise JavaBean データのキャッシュを保持します。これにより、コンテナはその Enterprise JavaBeans のデータに対するほかのアプリケーションモジュールからの要求により速く応答できます。この節が適用されるのは、ステートフルセッション Beans とエンティティー Beans だけです。

キャッシュされた Enterprise JavaBeans は、アクティブ、アイドル、または非活性化のうち、いずれかの状態になっています。アクティブな Enterprise JavaBean には、現在クライアントがアクセスしています。アイドル Enterprise JavaBeans のデータは現在キャッシュにありますが、この Bean にアクセスしているクライアントはありません。非活性化 Bean のデータは一時的に保存されていて、クライアントが Bean を要求した場合はキャッシュに読み込まれます。

メッセージ駆動型 Bean 設定の設定

メッセージ駆動型 Beans のプールは、「EJB プール設定の設定」で説明したセッション Beans のプールと似ています。デフォルトで、コンテナはメッセージ駆動型 Beans のプールを保持しています。

このプールの設定を調整するには、次の手順に従います。

EJB タイマーサービス設定の設定

タイマーサービスは、Enterprise JavaBeans により通知やイベントをスケジュールするのに使われ、Enterprise JavaBean コンテナが提供する持続的なトランザクション通知サービスです。ステートフルセッション Beans 以外の Enterprise JavaBeans はすべて、タイマーサービスからの通知を受信できます。このサービスによって設定されたタイマーは、サーバーのシャットダウンや再起動では破棄されません。