Oracle® Fusion Middleware Oracle Coherence*WebでのHTTPセッション・マネージメントの管理 12c (12.1.2) B70746-02 |
|
前 |
次 |
この章では、様々なアプリケーション・サーバーで使用するために、Coherence*Web、セッション状態の永続性および管理モジュールを構成してデプロイする方法について説明します。Coherence*Webをこれらのアプリケーション・サーバーで使用可能にする機能は、自動化されたCoherence*Web WebInstallerを実行することにより提供されます。
準備: 「サポートされているWebコンテナ」を参照して、アプリケーション・サーバー固有のインストール手順を実行する必要があるかどうかを確認してください。 WebLogic Server上でCoherence*Webをデプロイするには、次の方法があります。
|
この章では、Coherence*Web WebInstallerを使用して、Java EEアプリケーション向けのCoherence*Webを様々なアプリケーション・サーバーにインストールする手順について説明します。
この章には次の項が含まれます:
Coherence*Webは、様々なWebコンテナのJava EEアプリケーションに対して有効化できます。これを行うには、アプリケーションをデプロイする前に、自動化したCoherence*Web WebInstallerを使用して、デプロイの準備が整ったアプリケーションを実行する必要があります。この自動化したインストーラによって、アプリケーションのデプロイメント準備が完了します。インスペクトとインストールの2段階でインストール・プロセスが実行されます。これらの各段階でのインストーラの動作は、「Coherence*Web WebInstallerによるJava EEアプリケーションの設定」を参照してください。
このインストーラは、JavaコマンドラインまたはAntタスクから実行できます。次の各項では、Javaコマンドラインから実行する方法について説明します。Antタスク・ベースのインストールについては、「Coherence*Web WebInstaller Antタスク」を参照してください。
「サポートされているWebコンテナ」の説明にあるすべてのWebコンテナは、WebInstallerで同じ一般的なインストール手順を使用してインストールできます。この手順の詳細は「Coherence*Webセッション管理モジュールをインストールする一般的な手順」を参照してください。
Webコンテナの中には、この一般的なインストール手順を開始する前に、そのコンテナ固有の追加手順を実行しなければならないものがわずかにあります。Caucho Resin、WebLogic 10.nなどがこのようなコンテナに該当します。次の各項で、アプリケーション・サーバー固有のインストール手順について説明しています。
Coherence*Webセッション管理モジュールをOracle WebLogic Serverリリース10からリリース10.2にインストールするには、次の手順を実行します。
coherence-web.jar
ファイルをcoherence/lib
ディレクトリから入手します。
サーバー・クラスタで実行する予定のWebLogic Server 10.nをインストールするたびに、次のコマンドを使用してライブラリを更新します。
java -cp coherence.jar;coherence-web.jar com.tangosol.coherence.servlet.WebPluginInstaller <wls-home-path> -install
「Coherence*Webセッション管理モジュールをインストールする一般的な手順」の説明にある手順に従ってインストールを完了します。サーバー・タイプとして「WebLogic/10.x
」を指定します。
Coherence*Webセッション管理モジュールをCaucho Resin 3.1.nサーバーにインストールするには、次の手順を実行します。
coherence-web.jar
ファイルをcoherence/lib
ディレクトリから入手します。
サーバー・クラスタで実行する予定のCaucho Resinをインストールするたびに、次のコマンドを使用してライブラリを更新します。
java -cp coherence.jar;coherence-web.jar com.tangosol.coherence.servlet.WebPluginInstaller <resin-home-path> -install
「Coherence*Webセッション管理モジュールをインストールする一般的な手順」の説明にある手順に従ってインストールを完了します。サーバー・タイプとして「Resin/3.1.x
」を指定します。
「サポートされているWebコンテナ」に記載したどのWebコンテナにJava EEアプリケーション用のCoherence*Webをインストールする場合でも、次の手順を実行してください。
Java EE用のCoherence*WebをApache Tomcatサーバーにインストールしている場合の手順の詳細は、「Apache Tomcatサーバーに対するスティッキー・セッションの有効化」も参照してください。
Java EE用のCoherence*WebをIBM WebSphereサーバーにインストールしている場合の手順の詳細は、「IBM WebSphere 7.nサーバーに対するURLセッションIDのデコード」も参照してください。
デプロイするJava EEアプリケーション用のCoherence*Webをインストールするには:
アプリケーション・ディレクトリ、EARファイルおよびWARファイルを他のプロセスで使用もアクセスもしていないことを確認します。
現在のディレクトリをCoherenceのライブラリ・ディレクトリに変更します(Windowsの場合は%COHERENCE_HOME%
\lib
、Unixの場合は$COHERENCE_HOME
/lib
)。
Javaコマンドを実行できるようにパスを構成していることを確認します。
次のコマンドを実行してアプリケーションのインスペクト手順を完了します。次のコマンドラインで、<app-path>
にはアプリケーションへのフル・パスを指定し、<server-type>
には、使用しているサーバーの名前を表1-1から選択して指定します。
java -jar webInstaller.jar <app-path> -inspect -server:<server-type>
アプリケーションを配置したディレクトリに、Java EEアプリケーション用のcoherence-web.xml
構成ディスクリプタ・ファイルが作成されます(すでに存在している場合はそれが更新されます)。この構成ディスクリプタ・ファイルには、アプリケーション用としてインストーラ推奨のデフォルトのCoherence*Web設定が収められています。
必要に応じて、各自の要件に基づいてCoherence*Web設定を見直し、変更してください。
coherence-web.xml
ディスクリプタ・ファイルを編集することで、Coherence*Web設定を変更できます。変更可能なCoherence*Web設定は、付録A「Coherence*Webコンテキスト・パラメータ」を参照してください。context-param
パラメータのサブ要素であるparam-name
およびparam-value
を使用して、必要な機能を有効にします。表4-1に、様々な設定の例を示します。
表4-1 Coherence*Webのコンテキスト・パラメータ設定の例
パラメータ | 名前 | 説明 |
---|---|---|
|
true |
すべての |
|
true |
アプリケーションで使用すると、そのアプリケーションに存在するすべてのセッションを列挙したり、そのいずれかを取得して調査または操作したりできます。 |
|
|
|
|
true |
デフォルトでは、 |
次のコマンドで、<app-path>
をアプリケーションへのフル・パスに置き換えて実行すると、Coherence*Webアプリケーションのインストール手順が実行します。
java -jar webInstaller.jar <app-path> -install
このインストーラでは、有効なcoherence-web.xml
構成ディスクリプタ・ファイルをアプリケーションと同じディレクトリに配置する必要があります。このコマンドにより、アプリケーション・アーカイブ・ファイルのWEB-INF\classes
ディレクトリにdefault-session-cache-config.xml
ファイルが作成されます。このファイルには、セッション構成情報とキャッシュ構成情報が格納されます。
更新済のアプリケーションをデプロイし、Coherenceディストリビューションに付随している軽量型ロード・バランサを使用して、すべてが仕様どおりに機能することを確認します。この軽量型ロード・バランサは、WebLogic Serverに付随しているロード・バランサとは対照的に、本番向けのユーティリティではありません。
Coherenceでサポートしているデプロイメント・トポロジであれば任意のトポロジで、アプリケーションをデプロイして実行できます。サポートしているデプロイメント・トポロジには、Coherence*Extendによるアウトオブプロセスとインプロセスがあります。これらのトポロジにおいてアプリケーションのデプロイと実行を行う方法の詳細は、次の各項を参照してください。トポロジ自体の詳細は、「デプロイメント・トポロジ」を参照してください。
Coherence*Webはアプリケーション・サーバーでインプロセス状態で実行できます。これは、セッション・データがアプリケーション・サーバーで格納される場所です。このトポロジの詳細は、「インプロセス・トポロジ」を参照してください。
アプリケーション・サーバーの場合:
記憶域を有効化した状態でアプリケーション・サーバーを起動します。システム・プロパティのtangosol.coherence.session.localstorage=true
をアプリケーション・サーバー起動スクリプトのJavaオプションに追加します。
coherence.jar
とcoherence-web.jar
のファイルを共有ライブラリとしてデプロイします。
アプリケーションをデプロイして実行します。
アウトオブプロセス・デプロイメント・トポロジでは、スタンドアロンのキャッシュ・サーバーでセッション・データを格納し、アプリケーション・サーバーはキャッシュ・クライアントとして構成されます。このトポロジの詳細は、「アウトオブプロセス・トポロジ」を参照してください。
キャッシュ・サーバーとアプリケーション・サーバーは、同じキャッシュ構成とセッション構成を使用する必要があります。この構成は、Coherence*Web WebInstallerによりdefault-session-cache-config.xml
ファイルに生成されます。WebInstallerにより、設定済アプリケーションのWEB-INF\classes
ディレクトリにファイルが生成されます。
キャッシュ・サーバーの場合:
tangosol.coherence.cacheconfig
システム・プロパティをキャッシュ・サーバー起動スクリプトに追加して、構成ファイルを探します。また、システム・プロパティのtangosol.coherence.session.localstorage=true
を含めて、キャッシュ・サーバーの記憶域を有効にする必要があります。
coherence.jar
とcoherence-web.jar
のファイルをキャッシュ・サーバー起動スクリプトのクラスパスに追加します。
次の例は、サンプル起動スクリプトです。
java -server -Xms512m -Xmx512m -cp <Coherence installation dir
>/lib/coherence.jar:<Coherence installation dir
>/lib/coherence-web.jar -Dtangosol.coherence.management.remote=true -Dtangosol.coherence.cacheconfig=default-session-cache-config.xml -Dtangosol.coherence.session.localstorage=true com.tangosol.net.DefaultCacheServer
アプリケーション・サーバーの場合(キャッシュ・クライアント):
coherence.jar
とcoherence-web.jar
のファイルを共有ライブラリとしてデプロイします。
設定済アプリケーションのWEB-INF\classes
ディレクトリにdefault-session-cache-config.xml
ファイルが存在する必要があります。
デフォルトでは、ファイルではローカル記憶域が無効になるように指定します(不明な場合、ファイルを調べてlocal-storage
要素がfalse
に設定されていることを確認するか、システム・プロパティのtangosol.coherence.session.localstorage=false
を起動スクリプトに追加できます)。
アプリケーションをサーバーにデプロイします。
インプロセスのCoherence*Webでアプリケーションの実行とテストを行っている場合、簡単にアウトオブプロセス・トポロジに移行できます。単純に、キャッシュ・サーバーとアプリケーション・サーバーを設定します。詳細は、「アウトオブプロセスのアプリケーションのデプロイと実行」を参照してください。
Coherence*Extendによるアウトオブプロセス・トポロジは、アウトオブプロセス・トポロジに似ていますが、アプリケーション・サーバー層とキャッシュ・サーバー層との通信をCoherence*Extend経由(TCP/IP)で行う点が異なります。Coherence*Extendは、クラスタの外部で実行されるExtendクライアント(またはプロキシ)と、1台以上のキャッシュ・サーバーでホストされているクラスタ内で実行される拡張プロキシ・サービスの2つの基本コンポーネントで構成されます。このトポロジの詳細は、「"Coherence*Extendによるアウトオブプロセス・トポロジ"」を参照してください。
これらのデプロイメントの参加者には、次の3種類があります。
キャッシュ・サーバー(記憶域サーバー)は、実際のセッション・データをメモリーに格納する際に使用されます。
Web(アプリケーション)サーバーは、このトポロジにおけるExtendクライアントです。クラスタのメンバーにはならず、クラスタ内のプロキシ・ノードに接続します。クラスタへのリクエストの発行は、そのプロキシ・ノードが代行します。
プロキシ・サーバーは、クラスタ内の記憶域が無効なメンバーとして、ExtendクライアントからのTCP/IP接続を受け入れ、管理します。クライアントからのリクエストはクラスタに送信され、応答はTCP/IP接続を通じて返送されます。
キャッシュ・サーバーの場合:
「アウトオブプロセスのアプリケーションのデプロイと実行」でキャッシュ・サーバーを構成する手順に従ってください。また、キャッシュ・サーバーのdefault-session-cache-config.xml
ファイルをコピーしてから編集し、システム・プロパティのtangosol.coherence.session.proxy=false
とtangosol.coherence.session.localstorage=true
を追加します。
これらのコンテキスト・パラメータを含むdefault-session-cache-config.xml
ファイルの例と詳細は、「プロキシJVMと記憶域JVMのキャッシュの構成」を参照してください。
Web層(アプリケーション)サーバーの場合:
「アウトオブプロセスのアプリケーションのデプロイと実行」でアプリケーション・サーバーを構成する手順に従ってください。また、次の手順を完了します。
オプティミスティック・ロック・モードを使用するようにCoherence*Webを構成していることを確認します。オプティミスティック・ロックは、Coherence*Webにおけるデフォルトのロック・メカニズムです(「"オプティミスティック・ロック"」を参照)。
アプリケーション・サーバーのdefault-session-cache-config.xml
ファイルをコピーしてから編集し、プロキシJVMのホスト名、IPアドレスおよびポートを追加します。このためには、<remote-addresses>
セクションをファイルに追加します。一般には、ロード・バランシングとフェイルオーバーに備えて、すべてのプロキシJVMのホスト名、IPアドレスおよびポートを追加します。
<remote-addresses>
セクションを含むdefault-session-cache-config.xml
ファイルの例と詳細は、「Web層JVMのキャッシュの構成」を参照してください。
プロキシ・サーバーの場合:
若干変更することで、プロキシ・サーバーではキャッシュ・サーバーおよびアプリケーション・サーバーと同じキャッシュ構成およびセッション構成を使用できます。default-session-cache-config.xml
ファイルを編集して、これらのシステム・プロパティを追加します。
tangosol.coherence.session.localstorage=false
により、ローカル記憶域を無効にします。
tangosol.coherence.session.proxy=true
は、プロキシ・サービスが使用されていることを示します。
tangosol.coherence.session.proxy.localhost
は、プロキシがバインドされるNICのホスト名またはIPアドレスを示します。
tangosol.coherence.session.proxy.localport
は、プロキシがバインドされるポートの一意のポート番号を示します。
これらのコンテキスト・パラメータを含むdefault-session-cache-config.xml
ファイルの例と詳細は、「プロキシJVMと記憶域JVMのキャッシュの構成」を参照してください。
Apache Tomcatサーバーにスティッキー・セッションを採用するには、サーバーのserver.xml
ファイルにjvmRoute
属性を構成する必要があります。この属性の詳細は、次のURLを参照してください。
http://tomcat.apache.org/connectors-doc/reference/workers.html
coherence-session-urldecode-bycontainer
コンテキスト・パラメータをtrue
に設定すると、コンテナでURLをデコードできます。Java EE用のCoherence*WebをIBM WebSphereアプリケーション・サーバーのリリース7.nにインストールしている場合は、このコンテキスト・パラメータをfalse
に設定する必要があります。WebSphereアプリケーション・サーバーのかわりに、Coherence*WebによってセッションIDのデコードが処理されます。
Coherence*Web WebInstallerをWebSphere 7.nアプリケーション・サーバー・タイプに対して実行する場合、このパラメータは、ユーザーが明示的にtrue
に設定しないかぎり、自動的にfalse
に設定されます。
Coherence*Web WebInstaller Antタスクを使用すると、既存のAntビルド・ファイルからインストーラを実行できます。
この項の内容は次のとおりです。
Coherence*Web WebInstaller Antタスクを使用するには、例4-1に示すタスク・インポート文をAntビルド・ファイルに追加します。この例で、${
coherence.home
}
はCoherenceをインストールした環境のルート・ディレクトリを指しています。
例4-1 Coherence*Web WebInstaller用のタスク・インポート文
<taskdef name="cwi" classname="com.tangosol.coherence.misc.CoherenceWebAntTask">
<classpath>
<pathelement location="${coherence.home
}/lib/webInstaller.jar"/>
</classpath>
</taskdef>
次の手順は、AntビルドからJava EEアプリケーションにCoherence*Webをインストールするための基本的なプロセスを示しています。
いつものようにJava EEアプリケーションをビルドします。
operations
属性をinspect
に設定して、Coherence*Web Antタスクを実行します。
生成されたCoherence*Web XMLディスクリプタ・ファイルを必要に応じて変更します。
operations
属性をinstall
に設定して、Coherence*Web Antタスクを実行します。
反復手順のある開発作業の実行
アプリケーションで反復手順のある開発作業(JavaServer Pages (JSP)、サーブレット、静的リソースなどの変更)を実行する場合は、次のインストール・プロセスを使用します。
operations
属性をuninstall
に、failonerror
属性をfalse
に、descriptor
属性を「Coherence*Web WebInstaller Antタスクの使用方法」の手順2で以前生成したCoherence*Web XMLディスクリプタ・ファイルの場所にそれぞれ設定して、Coherence*Web Antタスクを実行します。
いつものようにJava EEアプリケーションをビルドします。
operations
属性をinspect
に、install
属性とdescriptor
属性を「Coherence*Web WebInstaller Antタスクの使用方法」の手順2で以前生成したCoherence*Web XMLディスクリプタ・ファイルの場所にそれぞれ設定して、Coherence*Web Antタスクを実行します。
Java EEアプリケーションのCoherence*Web構成設定の変更
Coherence*Webを使用するJava EEアプリケーションのCoherence*Web構成設定を変更する必要がある場合、次の手順を使用します。
operations
属性をuninstall
に、descriptor
属性をJava EEアプリケーションのCoherence*Web XMLディスクリプタ・ファイルの場所にそれぞれ設定して、Coherence*Web Antタスクを実行します。
Coherence*Web XMLディスクリプタ・ファイルで、必要な構成パラメータを変更します。
operations
属性をinstall
に、descriptor
属性を「Coherence*Web WebInstaller Antタスクの使用方法」の手順2で変更したCoherence*Web XMLディスクリプタ・ファイルの場所にそれぞれ設定して、Coherence*Web Antタスクを実行します。
表4-2は、Coherence*Web WebInstaller Antタスクで使用可能な属性を示しています。
表4-2 Coherence*Web WebInstaller Antタスクの属性
属性 | 説明 | 必須? |
---|---|---|
|
目的のJava EEアプリケーションへのパス。WARファイル、EARファイル、展開したWARディレクトリ、または展開したEARディレクトリのいずれかへのパスを指定できます。 |
|
|
元の目的のJava EEアプリケーションのバックアップを保存するディレクトリへのパス。この属性は、デフォルトでJava EEアプリケーションのインストール先ディレクトリに設定されます。 |
いいえ |
|
Coherence*Web XMLディスクリプタ・ファイルへのパス。この属性は、デフォルトで目的のJava EEアプリケーションのインストール先ディレクトリにある |
いいえ |
|
0以外のステータスでCoherence*Webインストーラが終了した場合はAntビルドを停止します。デフォルトは |
いいえ |
|
警告メッセージを表示しません。この属性の値は |
いいえ |
|
実行する操作をカンマまたはスペースで区切って指定します。指定できる操作は、 |
はい |
|
目的のJava EEアプリケーション・サーバーの別名。 |
いいえ |
|
Coherence*Webインストーラによって変更されたJSPとTLDにtouchコマンドを実行します。この属性に指定できる値は、 |
いいえ |
|
詳細出力を表示します。この属性の値は |
いいえ |
次に、WebInstaller Antタスクのコマンド例を示します。
myWebApp.war
Webアプリケーションをインスペクトして、現在の作業ディレクトリでmy-coherence-web.xml
という名前のCoherence*Web XMLディスクリプタ・ファイルを作成します。
<cwi app="myWebApp.war" operations="inspect" descriptor="my-coherence-web.xml"/>
現在の作業ディレクトリにあるmy-coherence-web.xml
という名前のCoherence*Web XMLディスクリプタ・ファイルを使用して、myWebApp.war
WebアプリケーションにCoherence*Webをインストールします。
<cwi app="myWebApp.war" operations="install" descriptor="my-coherence-web.xml"/>
myWebApp.war
WebアプリケーションからCoherence*Webをアンインストールします。
<cwi app="myWebApp.war" operations="uninstall">
/dev/myWebApp/src
ディレクトリにあるmy-coherence-web.xml
という名前のCoherence*Web XMLディスクリプタ・ファイルを使用して、/dev/myWebApp/build
ディレクトリに配置したmyWebApp.war
WebアプリケーションにCoherence*Webをインストールし、元のWebアプリケーションのバックアップを/dev/myWebApp/work
ディレクトリに配置します。
<cwi app="/dev/myWebApp/build/myWebApp.war" operations="install" descriptor="/dev/myWebApp/src/my-coherence-web.xml" backup="/dev/myWebApp/work"/>
/dev/myWebApp/build
ディレクトリにあるcoherence-web.xml
という名前のCoherence*Web XMLディスクリプタ・ファイルを使用して、/dev/myWebApp/build
ディレクトリに配置したmyWebApp.war
WebアプリケーションにCoherence*Webをインストールします。Webアプリケーションがまだインスペクトされていない(つまり、/dev/myWebApp/build/coherence-web.xml
が存在しない)場合は、Coherence*Webをインストールする前にWebアプリケーションをインスペクトします。
<cwi app="/dev/myWebApp/build/myWebApp.war" operations="inspect,install"/>
/dev/myWebApp/src
ディレクトリにあるmy-coherence-web.xml
という名前のCoherence*Web XMLディスクリプタ・ファイルを使用して、/dev/myWebApp/build
ディレクトリに配置したmyWebApp.war
WebアプリケーションにCoherence*Webを再インストールします。
<cwi app="/dev/myWebApp/build/myWebApp.war" operations="uninstall,install" descriptor="/dev/myWebApp/src/my-coherence-web.xml"/>
Coherenceには、ソフトウェアによる軽量なロード・バランサが付属しています。このソフトウェアはテスト以外の目的には使用できません。このロード・バランサは、セッション管理などの機能テストではきわめて効果的で、たいへん使いやすいソフトウェアです。次の手順に従い、HTTPセッション管理を軽量型ロード・バランサでテストします。
それぞれがIPアドレスとポートの一意な組合せでアプリケーションを実行する複数のアプリケーション・サーバー・プロセスを、1台以上のサーバー・マシン上で開始します。
コマンド(またはシェル)ウィンドウを開きます。
現在のディレクトリをCoherenceのライブラリ・ディレクトリに変更します(Windowsの場合は%COHERENCE_HOME%
\lib
、Unixの場合は$COHERENCE_HOME
/lib
)。
Javaコマンドを実行できるようにパスを構成していることを確認します。
次のコマンドラインを使用してソフトウェア・ロード・バランサを起動します(これらの各コマンドラインによって、デフォルトのHTTPポート80
でアプリケーションが使用可能になります)。
たとえば、2つのアプリケーション・サーバー・インスタンスを7001
ポートと7002
ポートに持つ1台のマシンでローカルにロード・バランシングをテストするには、次のように入力します。
java -jar coherence-loadbalancer.jar localhost:80 localhost:7001 localhost:7002
server1
、server2
およびserver3
に対して7001
ポートで負荷を分散するserver1
でローカルにロード・バランサを実行するには、次のように入力します。
java -jar coherence-loadbalancer.jar server1:80 server1:7001 server2:7001 server3:7001
前述のコマンドラインを実行すると、これまでhttp://server1:7001/my.jsp
をURLとしていたアプリケーションに、http://server1:80/my.jsp
またはhttp://server1/my.jsp
のみを指定してアクセスできるようになります。
注意: アプリケーションで使用されるアドレスが、相対リダイレクトまたはロード・バランサのアドレスのいずれかであることを確認してください。 |
表4-3は、ロード・バランサのコマンドライン・オプションを示しています。
インスペクトの手順では、Coherence*Web WebInstallerによって次のタスクが実行されます。
アプリケーションと目的のWebコンテナに関する基本的な情報、および目的のWebコンテナに適したデフォルトのCoherence*Web構成コンテキスト・パラメータを記述したテンプレートであるcoherence-web.xml
構成ファイルを生成します。使用可能なすべてのパラメータの詳細は、付録A「Coherence*Webコンテキスト・パラメータ」を参照してください。
WebInstallerではサーブレット・コンテナを設定して、記憶域を無効化した状態で起動します(つまり、tangosol.coherence.session.localstorage
をfalse
に設定します)。
既存のcoherence-web.xml
構成ファイルが存在する場合(たとえば、過去にCoherence*Web WebInstallerを実行したことがある場合)は、既存のファイルにあるコンテキスト・パラメータは生成したテンプレートにあるパラメータにマージされます。
目的のJava EEアプリケーションにある各WebアプリケーションからJSPを列挙して、各JSPに関する情報をcoherence-web.xml
構成ファイルに追加します。
目的のJava EEアプリケーションにある各WebアプリケーションからTLDを列挙して、各TLDに関する情報をcoherence-web.xml
構成ファイルに追加します。
インストールの手順では、Coherence*Web WebInstallerによって次のタスクが実行されます。
アンインストールの手順で復元できるように、元のJava EEアプリケーションのバックアップを作成します。
インスペクトの手順1で生成したCoherence*Web構成コンテキスト・パラメータを、目的のJava EEアプリケーションに含まれる各Webアプリケーションのweb.xml
ディスクリプタ・ファイルに追加します。
各Webアプリケーションから、アプリケーション固有のServletContextListener
、ServletContextAttributeListener
、ServletRequestListener
、ServletRequestAttributeListener
、HttpSessionListener
、およびHttpSessionAttributeListener
の各クラス(TLDによって登録されたものを含む)を登録解除します。
Coherence*Web ServletContextListener
クラスを各web.xml
ディスクリプタ・ファイルに登録します。実行時に、Coherence*Web ServletContextListener
クラスによって、各アプリケーション固有のServletContextListener
リスナーに各ServletContextEvent
イベントが伝播します。
Coherence*Web ServletContextAttributeListener
リスナーを各web.xml
ディスクリプタ・ファイルに登録します。実行時に、Coherence*Web ServletContextAttributeListener
によって、各アプリケーション固有のServletContextAttributeListener
リスナーに各ServletContextAttributeEvent
イベントが伝播します。
各web.xml
ディスクリプタ・ファイルで宣言した各アプリケーション固有のServlet
をCoherence*Web SessionServlet
でラップします。実行時に、各Coherence*Web SessionServlet
からラップされたServlet
に権限が委譲されます。
インスペクト手順2で列挙した各JSPに次のディレクティブを追加します。
<%@ page extends="com.tangosol.coherence.servlet.api22.JspServlet" %>
アンインストールの手順では、Coherence*Web WebInstallerによって、設定済のJava EEアプリケーションがインストール・プロセスの手順(1)で作成した元のバージョンのバックアップに置き換えられます。
注意: Coherence*WebのネイティブなWebLogic Server SPI実装には、この項の内容は該当しません。これは、Java EEセキュリティを使用しているアプリケーションに、WebInstallerを使用してCoherence*Webをインストールする場合にのみ該当します。SPI実装を使用する手順は、第2章「WebLogic ServerでのCoherence*Webの使用方法」を参照してください。 |
Java EEセキュリティを使用しているアプリケーションにCoherence*Webをインストールするには、インストールで次の手順を別途実行してください。
Coherence*WebセッションCookieを有効にします。
詳細は、表A-1のcoherence-session-cookies-enabled
構成要素を参照してください。
Coherence*WebセッションCookieの名前を、目的のWebコンテナで使用していない名前に変更します。
デフォルトでは、JSESSIONID
がほとんどのコンテナでセッションCookie名として使用されるため、Coherence*WebセッションCookie名としてはCSESSIONID
をお薦めします。詳細は、表A-1のcoherence-session-cookie-name
構成要素を参照してください。
目的のWebコンテナに対するセッション・レプリケーションを有効にします。
セッション・レプリケーションが有効になっていない場合、またはコンテナでセッション・レプリケーションの形態がサポートされていない場合は、フェイルオーバーの際にWebアプリケーションに対する再認証を実行する必要があります。セッション・レプリケーションの有効化に関する手順は、Webコンテナのドキュメントを参照してください。
この構成によって、指定の認証済ユーザーに次の2つのセッションが関連付けられます。
Webアプリケーションで作成したすべてのセッション・データを含むCoherence*Webセッション
認証中にWebコンテナによって作成され、ユーザーの特定に必要な情報のみを保存したセッション
coherence-session-cookie-httponly
コンテキスト・パラメータを使用して、HttpOnly
属性をセッションCookieに追加します。HttpOnly
属性は、CookieにJavaScriptなどのクライアント側のスクリプトがアクセスできないようにするため、クロスサイト・スクリプティングといった攻撃を防止するために使用します。すべてのブラウザがこの機能をサポートしているわけではありません。このコンテキスト・パラメータは、設定済アプリケーションの場合のみ使用可能です。