Oracle® Fusion Middleware

Oracle WebLogic Server Oracle Coherenceアプリケーションの開発

12c (12.2.1)

E69939-01(原本部品番号:E55229-01)

2015年10月

このドキュメントでは、開発者および設計者向けに、Oracle WebLogic Server用のOracle Coherenceアプリケーションを開発、パッケージ化およびデプロイする方法について説明します。

Oracle Fusion Middleware Oracle WebLogic Server Oracle Coherenceアプリケーションの開発, 12c (12.2.1)

E69939-01

Copyright © 2013, 2015, Oracle and/or its affiliates.All rights reserved.

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。適用されるお客様とOracle Corporationとの間の契約に別段の定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。適用されるお客様とOracle Corporationとの間の契約に定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

目次

表一覧

タイトルおよび著作権情報

はじめに

- ドキュメントのアクセシビリティについて

- 表記規則

1 概要とロードマップ

- マニュアルの範囲および対象読者

- このマニュアルの構成

- 関連ドキュメント

- このリリースの新機能と変更された機能

2 スタート・ガイド

- Coherenceアプリケーションの概要

- Coherenceの一般的な使用法

- Coherenceアプリケーションの構成ファイルの理解

- パッケージ化およびデプロイメントの概要

- Coherenceアプリケーション作成の主なタスク

- タスク1: Coherenceアプリケーションのディレクトリ構造を作成する

- タスク2: Coherenceアプリケーションのアーティファクトを含める

- タスク3: Coherenceアプリケーションをデプロイメント用にパッケージ化する

3 WebLogic Server用Coherenceアプリケーションの作成

- Coherenceアプリケーションのパッケージ化

- ディレクトリ構造の例

- エンタープライズ・アプリケーションでのグリッド・アーカイブのパッケージ化

- Coherenceアプリケーションのデプロイメント・ディスクリプタの作成

- 構成をオーバーライドするためのJNDIの使用

- データ・キャッシュの定義

- データ・キャッシュへのアクセス

- Coherence APIの使用

- Coherenceアプリケーション・ライフサイクル・リスナーの使用

- リレーショナル・データへのアクセスおよびその取得

- Eclipse永続性プロバイダの指定

- 永続性ユニットのパッケージ化

- セッション管理でのCoherenceの使用

- WebLogic ServerでのExtendクライアントの作成

- WebLogic ServerでのJCacheキャッシュの使用

4 WebLogic ServerでのCoherenceアプリケーションのデプロイ

- Coherenceのデプロイメント層の理解

- 管理対象Coherenceサーバーへのアプリケーションのデプロイ

- 共有ライブラリとしてのCoherenceアプリケーションのデプロイ

- Coherenceアプリケーションからの共有ライブラリの参照

- ローリング再デプロイの実行

- アプリケーション・クロスローダーからのCoherenceのロード

- WebLogic ServerでのCoherenceアプリケーションの保護

A coherence-application.xmlデプロイメント・ディスクリプタの要素

- coherence-application.xmlのネームスペース宣言およびスキーマの場所

- application-lifecycle-listener

- cache-configuration-ref

- coherence-application

- configurable-cache-factory-config

- init-params

- pof-configuration-ref

B weblogic-coh-app.xmlデプロイメント・ディスクリプタの要素

- weblogic-coh-app.xmlのネームスペース宣言およびスキーマの場所

- weblogic-coh-app

- library-ref

表一覧

- A-1 application-lifecycle-listenerの要素

- A-2 coherence-applicationの要素

- A-3 configurable-cache-factory-configの要素

- A-4 init-paramsの要素

- B-1 weblogic-coh-app要素

- B-2 library-ref要素

はじめに

ここでは、ドキュメントのアクセシビリティ機能とこのマニュアル(『Oracle WebLogic Server Oracle Coherenceアプリケーションの開発』)で使用される表記規則について説明します。

ドキュメントのアクセシビリティについて

Oracleのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。

Oracle Supportへのアクセス

サポートをご購入のOracleのお客様は、My Oracle Supportにアクセスして電子サポートを受けることができます。詳細情報は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info) か、聴覚に障害のあるお客様は (http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs)を参照してください。

表記規則

このマニュアルでは次の表記規則を使用します。

規則

意味

太字

太字は、操作に関連するGraphical User Interface要素、または本文中で定義されている用語および用語集に記載されている用語を示します。

イタリック体

イタリックは、ユーザーが特定の値を指定するプレースホルダ変数を示します。

固定幅フォント

固定幅フォントは、段落内のコマンド、URL、サンプル内のコード、画面に表示されるテキスト、または入力するテキストを示します。

1 概要とロードマップ

この章では、『Oracle WebLogic Server Oracle Coherenceアプリケーションの開発』の内容と構成について説明します。

この章の内容は次のとおりです。

- マニュアルの範囲および対象読者

- このマニュアルの構成

- 関連ドキュメント

- このリリースの新機能と変更された機能

マニュアルの範囲および対象読者

『Oracle WebLogic Server Oracle Coherenceアプリケーションの開発』ガイドでは、WebLogic Server用Coherenceアプリケーションの作成、パッケージ化およびデプロイ方法について説明します。このマニュアルの内容は、管理対象Coherenceサーバーの使用に特化しています。Coherence APIの詳細については説明していません。Coherence APIの使用の詳細は、『Oracle Coherenceでのアプリケーションの開発』を参照してください。

このドキュメントの対象読者は次のとおりです。

- WebLogic Server用のCoherenceアプリケーションを開発および構成するアプリケーション開発者およびアプリケーション設計者。

- WebLogic ServerにCoherenceアプリケーションをデプロイする管理者。

このマニュアルの構成

- この章(第1章「概要とロードマップ」)では、このドキュメントの構成を説明します。

- 第2章「スタート・ガイド」では、Coherenceアプリケーションについて説明し、Coherenceアプリケーションの構成、パッケージ化とデプロイメント、および作成の概要を示します。

- 第3章「WebLogic Server用Coherenceアプリケーションの作成」では、Oracle WebLogic Server用Coherenceアプリケーションをパッケージ化する方法、Coherenceアプリケーション・デプロイメント・ディスクリプタを作成する方法、およびCoherenceキャッシュにアクセスする方法について説明します。この章では、セッション管理に使用するCoherence*Webと、JPAエンティティのキャッシングに使用するTopLink Gridについても説明します。

- 第4章「WebLogic ServerでのCoherenceアプリケーションのデプロイ」では、CoherenceアプリケーションをOracle WebLogic Serverドメインにデプロイする方法について説明します。

- 付録A「coherence-application.xmlデプロイメント・ディスクリプトの要素」では、Coherenceアプリケーション・デプロイメント・ディスクリプタであるcoherence-application.xmlのXMLスキーマに関する完全なリファレンスを示します。

関連ドキュメント

詳細は、次のOracle CoherenceおよびOracle WebLogic Serverドキュメントを参照してください。

Oracle Coherence

- Oracle Coherenceでのアプリケーションの開発

- Oracle Coherenceリモート・クライアントの開発

- Oracle Coherence*WebでのHTTPセッション・マネージメントの管理

- Oracle Coherence統合ガイド

- Oracle Coherenceのマネージメント

- Oracle Coherenceの保護

Oracle WebLogic Server

- Oracle WebLogic Serverアプリケーションの開発

- Oracle WebLogic Server Webアプリケーション、サーブレット、JSPの開発

- Oracle WebLogic Serverクラスタの管理

- Oracle WebLogic Server管理コンソール・オンライン・ヘルプ

このリリースの新機能と変更された機能

このリリースで導入されたOracle WebLogic Serverのすべての新機能については、『Oracle WebLogic Serverの新機能』を参照してください。

2 スタート・ガイド

この章では、WebLogic Server用のCoherenceアプリケーションについて説明し、Coherenceアプリケーションを作成してパッケージ化する方法の概要を示します。

この章の内容は次のとおりです。

- Coherenceアプリケーションの概要

- Coherenceの一般的な使用法

- Coherenceアプリケーションの構成ファイルの理解

- パッケージ化およびデプロイメントの概要

- Coherenceアプリケーション作成の主なタスク

Coherenceアプリケーションの概要

Coherenceは、分散キャッシングおよびインメモリー・データ・グリッド・コンピューティングのソリューションです。通常、アプリケーションはスケーラビリティ、可用性およびパフォーマンスを向上させるためにCoherenceを使用します。Coherenceの一般的なユースケースには、データ・キャッシング、HTTPセッション・レプリケーション、およびデータベース・キャッシュ・ストア(Java Persistence API (JPA)レベル2キャッシュなど)が含まれます。

CoherenceはWebLogic Serverと密接に統合されます。統合することで、Coherenceクラスタ・メンバーのライフサイクルが、管理対象サーバーのライフサイクルにそろいます。つまり、管理対象サーバーJVMの開始または終了に合せてCoherenceクラスタ・メンバーを開始および終了することになります。クラスタ・メンバーである管理対象サーバーは、管理対象Coherenceサーバーと呼ばれます。

その他のJava EEモジュールと同様に、Coherenceはグリッド・アーカイブ(GAR)という独自のアプリケーション・モジュールをサポートします。GARには、Coherenceアプリケーションのアーティファクトが格納され、デプロイメント・ディスクリプタが含まれています。GARはJava EEモジュールと同様にデプロイおよびアンデプロイされ、アプリケーション・ライフサイクルはクラスタ・サービス・ライフタイムから分離されています。Coherenceアプリケーションと管理対象CoherenceサーバーはJavaEE仕様で規定されていませんが、WebLogic Serverに固有のものです。

Coherenceの一般的な使用法

この項では、WebLogic ServerでのCoherenceの一般的な使用法について説明します。WebLogic ServerとCoherenceの統合により、アプリケーションはCoherenceデータ・キャッシュを使用し、センション管理にCoherence*Webを組み込み、オブジェクトからリレーショナルへの永続化フレームワークとしてTopLink Gridを組み込むことが容易になります。

アプリケーション・データ・キャッシングおよびデータ・グリッド・コンピューティングの提供

アプリケーションは、レプリケートされた分散キャッシングにCoherenceを使用します。アプリケーションは、データ・キャッシュへのアクセスに、リソース・インジェクションまたはコンポーネントベースのJNDIルックアップを使用します。Oracle WebLogic Server管理コンソールおよびOracle WebLogic Scripting Toolは、Coherenceクラスタの管理および構成に使用します。Coherence統合を使用すると、アプリケーション・データのキャッシングおよびレプリケートされたセッション状態の格納専用のデータ層を作成できます。これはアプリケーション層(アプリケーションの実行専用のWebLogic Serverインスタンス)から分離されます。

詳細は、「WebLogic Server用Coherenceアプリケーションの作成」を参照してください。

セッション状態の永続性および管理の提供

Coherence*Webを使用すると、WebLogic Server上で実行されるアプリケーションにCoherenceベースのHTTPセッション状態の永続性を提供できます。Coherence*Webは、異なる複数のWebアプリケーション、ドメインおよび異機種のアプリケーション・サーバー間におけるHTTPセッション共有および管理を実現します。セッション・データは、アプリケーション・サーバー外のデータ・キャッシュに格納できるため、アプリケーション・サーバーのヒープ・スペースを解放し、セッション・データを消失させずにサーバーを再起動できます。

Coherence*WebとWebLogic Serverアプリケーションの使用の詳細は、『Oracle Coherence*WebでのHTTPセッション・マネージメントの管理』を参照してください。

データ・キャッシュ内のJava Persistence API (JPA)エンティティへのアクセス

TopLink Gridのリレーショナルとオブジェクトのマッピング機能によって、データベース問合せおよび結果セットのコピーをCoherenceデータ・キャッシュに格納できます。この機能により、データベース・アクセスは、必要なデータのキャッシュされたコピーが存在しない場合、またはデータベースに対して永続的である必要がある作成、更新または削除操作をアプリケーションが実行する場合にのみ発生します。この追加の最適化により、システムのスケーラビリティおよびパフォーマンスが向上します。

TopLink Gridを使用すると、JPAエンティティ・キャッシングが可能になります。これにより、複数のクラスタ・ノードにわたる非常に規模の大きい、共有グリッド・キャッシュをサポートできます。データ・キャッシュにオブジェクトが含まれていない場合は、データベースへの問合せが行われます。

TopLink Gridでは、問合せをCoherenceに向けることもできます。目的の問合せ結果がキャッシュに見つからない場合は、データベースから読み取り、キャッシュに配置して以降の問合せで使用可能にできます。Coherenceでは非常に多くのオブジェクトを管理できるため、結果がキャッシュで見つかる可能性が高くなり、1つのクラスタ・メンバーでの読取り操作がすぐに他のメンバーも利用可能になります。

データベースへのJPAエンティティの書込みは、TopLink Gridでも実現可能です。アプリケーションは、JPAエンティティを直接データベースに書き込んでからデータ・キャッシュに入れるか(データベースの状態を反映するため)、またはJPAエンティティをデータ・キャッシュに入れて、データ・キャッシュからデータベースに書き込まれるようにすることができます。

詳細は、「リレーショナル・データへのアクセスおよびその取得」を参照してください。

Coherenceアプリケーションの構成ファイルの理解

WebLogic Serverにデプロイされる一般的なCoherenceアプリケーションには、次の構成ファイルが含まれます。主要なCoherence構成ファイルの詳細は、『Oracle Coherenceでのアプリケーションの開発』を参照してください。

- キャッシュ構成ファイル: このファイルは、Coherenceクラスタ内で使用可能な様々なタイプのキャッシュを指定するために使用され、ほとんどの場合はcoherence-cache-config.xmlという名前が付けられます。通常、このファイルはキャッシュ構成デプロイメント・ディスクリプタと呼ばれます。このファイルのスキーマは、coherence-cache-config.xsdファイルです。このファイルの要素の詳細なリファレンスは、『Oracle Coherenceでのアプリケーションの開発』を参照してください。

- POF構成ファイル – このファイルは、Portable Object Format (POF)を使用してオブジェクトをシリアライズする場合のカスタム・データ型の指定に使用するもので、通常はpof-config.xmlという名前になります。通常、このファイルはPOF構成デプロイメント・ディスクリプタと呼ばれます。このファイルのスキーマは、coherence-pof-config.xsdファイルです。このファイルの要素の詳細なリファレンスは、『Oracle Coherenceでのアプリケーションの開発』を参照してください。

- Coherenceアプリケーション・デプロイメント・ディスクリプタ – このファイルは、管理対象CoherenceサーバーにデプロイされるCoherenceアプリケーション・モジュールの構成に使用されます。ディスクリプタにおける要素の完全な参照は、付録A「coherence-application.xmlデプロイメント・ディスクリプタの要素」を参照してください。

パッケージ化およびデプロイメントの概要

Coherenceアプリケーションは、デプロイメントに特定のディレクトリ構造を使用します。Coherenceアプリケーションは、このディレクトリ構造内のファイルのコレクション(展開済ディレクトリ形式)としてデプロイするか、.gar拡張子を持つグリッド・アーカイブ(GAR)と呼ばれるアーカイブ・ファイルとしてデプロイすることができます。デプロイメント用にアプリケーションをパッケージ化する方法については、「Coherenceアプリケーションのパッケージ化」を参照してください。ディレクトリ構造は次のとおりです。

MyCohApp/
lib/
META-INF/
coherence-application.xml

スタンドアロンGARは、Coherenceデータ層のすべての管理対象Coherenceサーバーにデプロイされます。また、GARはEAR内にパッケージ化され、アプリケーション層に存在するすべての管理対象Coherenceサーバーにデプロイされる必要もあります。デプロイメントの詳細は、第4章「WebLogic ServerでのCoherenceアプリケーションのデプロイ」を参照してください。

Coherenceアプリケーション作成の主なタスク

CoherenceアプリケーションをスタンドアロンGARモジュールとして作成する場合と、エンタープライズ・アプリケーションの一部としてパッケージ化する場合の両方の手順を、次にまとめます。これらの手順の詳細は、このガイドで説明します。Coherenceアプリケーションの例全体については、WebLogic Serverインストールに付属のWebLogic Server Code Examplesを参照してください。

タスク1: Coherenceアプリケーションのディレクトリ構造を作成する

META-INF/およびlib/の2つのサブディレクトリを含む、ステージング・ディレクトリを作成します。

MyCohApp/
lib/
META-INF/

タスク2: Coherenceアプリケーションのアーティファクトを含める

Coherenceアプリケーション・アーティファクトをステージング・ディレクトリに含めます。Coherenceアプリケーションの作成方法の詳細は、「WebLogic Server用Coherenceアプリケーションの作成」を参照してください。

1. Coherenceアプリケーションのクラス・ファイルを、適切なパッケージ構造のステージング・ディレクトリのルートに配置します。例:

MyCohApp/
com/
myco/
MyClass.class
MySerializer.class
lib/
META-INF/

2. アプリケーションの依存ライブラリをlib/ディレクトリに配置します。

MyCohApp/
com/
myco/
MyClass.class
MySerializer.class
lib/
dependency.jar
META-INF/

3. coherence-cache-config.xmlおよびpof-config.xmlファイルをMETA-INF/ディレクトリに含めます。

MyCohApp/
com/
myco/
MyClass.class
lib/
dependency.jar
META-INF/
coherence-cache-config.xml
pof-config.xml

4. META-INFディレクトリにcoherence-application.xmlファイルを作成します。

MyCohApp/
com/
myco/
MyClass.class
lib/
dependency.jar
META-INF/
coherence-application.xml
coherence-cache-config.xml
pof-config.xml

5. coherence-application.xmlファイルを編集し、<cache-configuration-ref>および<pof-configuration-ref>要素をそれぞれ使用して構成ファイルの場所を含めます。

<?xml version="1.0"?>
<coherence-application>
xmlns="http://xmlns.oracle.com/coherence/coherence-application">
<cache-configuration-ref>META-INF/coherence-cache-config.xml
</cache-configuration-ref>
<pof-configuration-ref>META-INF/pof-config.xml</pof-configuration-ref>
</coherence-application>

タスク3: Coherenceアプリケーションをデプロイメント用にパッケージ化する

Coherenceデータ層へのデプロイメント用に、CoherenceアプリケーションをGARファイルとしてパッケージ化します。次に、Coherenceアプリケーション層へのデプロイメント用に、GARファイルをEAR内にパッケージ化します。Coherenceアプリケーションのデプロイの詳細は、第4章「WebLogic ServerでのCoherenceアプリケーションのデプロイ」を参照してください。

1. コマンド行から、ディレクトリをステージング・ディレクトリのルートに変更します。

2. Javaのjarコマンドを使用して、.gar拡張子を付けてアーカイブを圧縮します。例:

jar cvf MyCohApp.gar *

3. GARをコピーし、それをエンタープライズ・アプリケーション・ディレクトリ構造内にパッケージ化します。EARの作成方法の詳細は、『Oracle WebLogic Serverアプリケーションの開発』を参照してください。例:

MyEAR/
META-INF/
application.xml
weblogic-application.xml
MyWAR.war
MyEJB.jar
MyCohApp.gar

weblogic-application.xmlファイルは、GAR用のモジュール・リファレンスを含む必要があります。例:

<weblogic-application>
<module>
<name>MyCohApp</name>
<type>GAR</type>
<path>MyCohApp.gar</path>
</module>
</weblogic-application>

3 WebLogic Server用Coherenceアプリケーションの作成

この章では、Coherenceキャッシュにアクセスするための依存関係インジェクションおよびJNDIを使用する方法について説明します。Coherenceアプリケーションをグリッド・アーカイブ(GAR)としてパッケージ化するための手順も示します。

この章の内容は次のとおりです。

- Coherenceアプリケーションのパッケージ化

- Coherenceアプリケーションのデプロイメント・ディスクリプタの作成

- 構成をオーバーライドするためのJNDIの使用

- データ・キャッシュの定義

- データ・キャッシュへのアクセス

- Coherence APIの使用

- Coherenceアプリケーション・ライフサイクル・リスナーの使用

- リレーショナル・データへのアクセスおよびその取得

- セッション管理でのCoherenceの使用

- WebLogic ServerでのExtendクライアントの作成

- WebLogic ServerでのJCacheキャッシュの使用

Coherenceアプリケーションのパッケージ化

Coherenceアプリケーションは特定のディレクトリ構造を使用します。Coherenceアプリケーションは、このディレクトリ構造内のファイルのコレクション(展開済ディレクトリ形式)としてデプロイするか、.gar拡張子を持つグリッド・アーカイブ(GAR)と呼ばれるアーカイブ・ファイルとしてデプロイすることができます。

GARモジュールには、Coherenceアプリケーションを構成するアーティファクトが含まれます。/META-INFディレクトリには、Coherenceアプリケーションのデプロイメント・ディスクリプタが含まれます(cohererence-application.xml)。デプロイメント・ディスクリプタが存在することで、有効なGARが示されます。依存JARファイルを格納するために、追加のサブディレクトリ(/lib)ディレクトリが使用されます。Coherenceアプリケーションを構成するコンパイル済のJavaクラス(エントリ・プロセッサ、アグリゲータ、フィルタなど)が、適切なJavaパッケージ構造のルート・ディレクトリに配置されます。

GARモジュールには、キャッシュ構成ファイル(coherence-cache-config.xml)およびPortable Object Format (POF)のシリアライズ構成ファイル(pof-config.xml)も含めることができます。これらのファイルの場所は、Coherenceアプリケーション・デプロイメント・ディスクリプタ内で定義されます。通常、これらファイルは/META-INFディレクトリ内に配置されますが、GAR内のルートに対して相対的な任意の場所に配置するか、URLでアクセス可能なネットワーク上の場所に配置することもできます。

注意:

- 実行時にこの構成ファイルが見つからない場合、coherence.jarに含まれているデフォルトの構成ファイル(システム・クラスパスにある)が使用されます。

- 構成ファイルをGARのルート・ディレクトリに配置する場合、デフォルトのファイル名は使用しないでください(デフォルトのファイル名を使用した場合、coherence.jarファイルに含まれる構成ファイルが最初に検索され、GAR内の構成ファイルがロードされることはありません)。

このディレクトリ全体がステージングされると、このディレクトリはjarコマンドを使用してGARファイルにバンドルされます。GARファイルはスタンドアロン・アーカイブとして、キャッシュ・データを格納するように構成された管理対象Coherenceサーバーにデプロイされます。

GARモジュール内のキャッシュおよびリソースに依存するクライアント・アプリケーションは、依存GARを含むEAR内にパッケージ化される必要があります。EARは複数のGARモジュールを含むことができません。複数のGARモジュールを1つのGARにマージする必要があります。すなわち、GARには1つのアプリケーション・デプロイメント・ディスクリプタ、1つのキャッシュ構成ファイルおよびPOF構成ファイルが含まれている必要があります。

ディレクトリ構造の例

次に、Coherenceアプリケーションのディレクトリ構造の例を示します(myCohApp/はステージング・ディレクトリです)。

例3-1 Coherenceアプリケーションのディレクトリ構造

MyCohApp/
lib/
META-INF/
coherence-application.xml
coherence-cache-config.xml
pof-config.xml
com/myco/
MyClass.class

エンタープライズ・アプリケーションでのグリッド・アーカイブのパッケージ化

GARはEAR内にパッケージ化して、他のJavaEEモジュールから参照できるようにする必要があります。EARの作成方法の詳細は、『Oracle WebLogic Serverアプリケーションの開発』を参照してください。

次に、EAR内にパッケージ化されるCoherenceアプリケーションの例を示します。

例3-2 EARにパッケージ化されるCoherenceアプリケーション

MyEAR/
META-INF/
application.xml
weblogic-application.xml
MyWAR.war
MyEJB.jar
MyGAR.gar

META-INF/weblogic-application.xmlディスクリプタを編集し、<module>要素を使用してGARへの参照を含めます。EARのデプロイ時にGARがデプロイされるようにするには、この参照が必要です。例:

<?xml version="1.0"?>
<weblogic-application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-application
http://xmlns.oracle.com/weblogic/weblogic-application/1.6/
weblogic-application.xsd"
xmlns="http://xmlns.oracle.com/weblogic/weblogic-application">
<module>
<name>MyGAR</name>
<type>GAR</type>
<path>MyGAR.gar</path>
</module>
</weblogic-application>

Coherenceアプリケーションのデプロイメント・ディスクリプタの作成

GARファイルには、META-INFディレクトリにあるCoherenceアプリケーションのデプロイメント・ディスクリプタ(cohererence-application.xml)を含める必要があります。デプロイメント・ディスクリプタが存在することで、有効なGARが示されます。ディスクリプタで使用できるすべての要素に関する詳細なリファレンスは、付録A「coherence-application.xmlデプロイメント・ディスクリプタの要素」を参照してください。次に、GARのMETA-INFディレクトリにあるキャッシュ構成ファイルおよびPOF構成ファイルを宣言する、Coherenceデプロイメント・ディスクリプタの例を示します。

<?xml version="1.0"?>
<coherence-application
xmlns="http://xmlns.oracle.com/coherence/coherence-application">
<cache-configuration-ref>META-INF/coherence-cache-config.xml
</cache-configuration-ref>
<pof-configuration-ref>META-INF/pof-config.xml</pof-configuration-ref>
</coherence-application>

構成をオーバーライドするためのJNDIの使用

Coherenceでは、JNDIプロパティを使用して構成ファイル内のXML要素値をオーバーライドする機能が提供されています。JNDIプロパティを使用すると、単一バージョンの構成ファイルをデプロイメントに使用することが可能になり、必要に応じて実行時に変更できます。

JNDIプロパティを定義するには、XML要素にoverride-property属性を追加して、値をJNDIコンテキストに設定します。次の例では、coherence-application.xmlデプロイメント・ディスクリプタの<cache-configuration-ref>要素にcache-config/MyGarコンテキストを指定することで、JNDIプロパティを定義しています。JNDIプロパティは、実行時にキャッシュ構成参照をオーバーライドして、別のキャッシュ構成ファイルを指定するために使用されます。cache-configのJNDIコンテキストは、管理対象Coherenceサーバーで使用され、登録される既知のコンテキストです。

<?xml version="1.0"?>
<coherence-application
xmlns="http://xmlns.oracle.com/coherence/coherence-application">
<cache-configuration-ref override-property="cache-config/MyGar">
META-INF/coherence-cache-config.xml</cache-configuration-ref>
<pof-configuration-ref>META-INF/pof-config.xml</pof-configuration-ref>
</coherence-application>

データ・キャッシュの定義

データ・キャッシュは、coherence-cache-config.xmlファイルで定義されます(このファイルはGARファイルにパッケージされます)。Coherenceキャッシュおよびその構成の詳細は、『Oracle Coherenceでのアプリケーション開発』を参照してください。

次の例では、myCacheという名前の分散キャッシュを作成しています。また、キャッシュ名をアスタリスク(*)・ワイルドカードで定義することも可能であり、これによってアプリケーションは任意の名前を指定して分散キャッシュを使用できるようになります。

<?xml version="1.0" encoding="windows-1252"?>
<cache-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-cache-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-cache-config
coherence-cache-config.xsd">

<caching-scheme-mapping>
<cache-mapping>
<cache-name>myCache</cache-name>
<scheme-name>distributed</scheme-name>
</cache-mapping>
</caching-scheme-mapping>

<caching-schemes>
<distributed-scheme>
<scheme-name>distributed</scheme-name>
<service-name>DistributedService</service-name>
<backing-map-scheme>
<local-scheme/>
</backing-map-scheme>
<autostart>true</autostart>
</distributed-scheme>
</caching-schemes>
</cache-config>

管理対象CoherenceサーバーでGARモジュールを複数のEARモジュールで(個別にパッケージ化するか共有GARとして)使用する場合、Coherenceではレプリケートされたキャッシュ・スキームの使用をサポートしていません。代替方法として、レプリケートされたキャッシュのかわりにニア・キャッシュを使用します。

データ・キャッシュへのアクセス

アプリケーションは、Coherence NamedCache APIを使用してCoherenceキャッシュとやり取りします。このオブジェクトは、Coherenceクラスタのメンバー間で共有されるリソースを保持します。アプリケーションは、依存関係インジェクションまたはJNDIルックアップの使用によってNamedCacheオブジェクトを取得できます。

依存関係インジェクションでキャッシュを取得するには、次の手順を実行します。

サーブレットまたはEJBで@Resource注釈を使用して、動的にNamedCacheを注入することもできます。この注釈はJSPでは使用できません。注釈で使用されるキャッシュの名前は、アプリケーションのcoherence-cache-config.xmlファイルで定義する必要があります。

例3-3では、依存関係インジェクションを使用して、myCacheという名前のキャッシュを取得しています。JavaEE注釈および依存関係インジェクションの詳細は、『Oracle WebLogic Serverアプリケーションの開発』を参照してください。

例3-3 依存関係インジェクションによるキャッシュ・リソースの取得

...
@Resource(mappedName="MyCache")
com.tangosol.net.NamedCache nc;
...

JNDIルックアップによりNamedCacheを取得するには、次の手順を実行します。

EJB、サーブレットまたはJSPでは、コンポーネント・スコープのJNDIツリーを使用して、NamedCache参照を取得できます。

JNDIルックアップを使用するには、web.xmlまたはejb-jar.xmlファイル内のcom.tangosol.net.NamedCacheタイプのresource-refを定義します。例3-4は、myCacheをNamedCacheとして識別する<resource-ref要素を示しています。Oracle WebLogic ServerでのJNDIの使用については、『Oracle WebLogic Server JNDIアプリケーションの開発』を参照してください。

注意:
<res-auth>および<res-sharing-scope>要素は、例に示されていません。データ・キャッシュにアクセスするためのリソース・サインオンが現在実行されていないため、<res-auth>要素は無視されます。データ・キャッシュがデフォルトで共有可能であり、この動作はオーバーライドできないため、<res-sharing-scope>要素は無視されます。

例3-4 JNDIルックアップのresource-refとしてのNamedCacheの定義

...
<resource-ref>
<res-ref-name>coherence/myCache</res-ref-name>
<res-type>com.tangosol.net.NamedCache</res-type>
<mapped-name>MyCache</mapped-name>
</resource-ref>
...

次の例では、JNDIルックアップを実行して、例3-4で定義したNamedCacheリファレンスを取得しています。

try {
Context ctx = new InitialContext();
cache = (NamedCache) ctx.lookup("java:comp/env/coherence/myCache");
cache.put(key, value);
}
catch (NamingException ne)

Coherence APIの使用

Coherenceでは、キャッシュとのやり取り、およびデータ・グリッド操作の実行に使用できるフル機能のAPIが提供されます。このAPIを使用したアプリケーション開発の詳細は、『Oracle Coherenceでのアプリケーションの開発』を参照してください。Coherence APIのリファレンスについては、Oracle CoherenceのJava APIリファレンスを参照してください。

一部の機能には、次のものが含まれます。

- 基本的なget、putおよびputAll操作

- キャッシュの問合せ

- エントリ・プロセッサおよびアグリゲータを使用したキャッシュ内のデータの処理

- イベント通知

シリアライズでのPOFの使用

キャッシュに配置されるオブジェクトは、シリアライズされる必要があります。Portable Object Format (POF)は言語に依存しないバイナリ形式です。POFは領域と時間の両面で効率的であるように設計された、Coherenceの推奨シリアライズ・オプションです。アプリケーションでのPOFの使用の詳細は、『Oracle Coherenceでのアプリケーションの開発』を参照してください。

Coherenceアプリケーション・ライフサイクル・リスナーの使用

Coherenceアプリケーションは、アプリケーション・ライフサイクル・リスナーの使用をサポートしています。このリスナーでは、Coherenceキャッシュおよびクラスタ化されたサービスの作成および破棄の前後にカスタム処理の実行が可能です。リスナー・クラスは、com.tangosol.application.LifecycleListenerインタフェースを実装する必要があります。このインタフェースの詳細は、Oracle CoherenceのJava APIリファレンスを参照してください。

LifecycleListenerインタフェースで提供されている次のメソッドをオーバーライドし、必要な機能を追加します。

- preStart(Context) – アプリケーションのアクティブ化前にコールされます

- postStart(Context) – アプリケーションの起動後にコールされます

- preStop(Context) – アプリケーションがそのサービスを停止する前にコールされます

- postStop(Context) – アプリケーションの停止後にコールされます

アプリケーション・ライフサイクル・リスナー・クラスを使用するには、クラスの完全修飾名をcoherence-application.xmlデプロイメント・ディスクリプタの<application-lifecycle-listener>要素内で宣言し、このクラスをGARの/libディレクトリに含めます。次に、MyAppLifecycleListenerという名前のアプリケーション・ライフサイクル・リスナー・クラスを宣言する例を示します。

<?xml version="1.0"?>
<coherence-application
xmlns="http://xmlns.oracle.com/coherence/coherence-application">
<cache-configuration-ref>META-INF/coherence-cache-config.xml
</cache-configuration-ref>
<pof-configuration-ref>META-INF/pof-config.xml</pof-configuration-ref>
<application-lifecycle-listener>
<class-name>package.MyAppLifecycleListener</class-name>
</application-lifecycle-listener>
</coherence-application>

リレーショナル・データへのアクセスおよびその取得

TopLink Gridは、TopLinkとCoherence間の統合です。開発者は標準のJava Persistence API (JPA)をアプリケーションで使用して、Coherenceのスケーラビリティを活用します。TopLink Gridは、Coherenceデータ・グリッド内のドメイン・モデルの一部または全体を格納するために使用され、レベル2のキャッシュとしても使用できます。TopLink Gridの使用および構成の詳細は、『Oracle Coherenceの統合』を参照してください。

TopLink Gridライブラリ(toplink-grid.jar)は、INSTALL_HOME\oracle_common\modules\oracle.toplink_versionディレクトリに配置されます。このライブラリは、WegLogic Serverシステム・クラスパスの一部として含まれており、GARまたはアプリケーション(EAR)モジュールの一部として含める必要はありません。

Eclipse永続性プロバイダの指定

persistence.xmlファイルは、JPA永続性ディスクリプタ・ファイルです。ここで、永続性ユニット、永続性プロバイダ、およびこのリファレンスで記載するすべてのベンダー固有拡張を構成します。

このファイルでは、provider要素によりベンダーの永続性プロバイダ・クラスの名前が指定されます。Oracle TopLinkを使用している場合、この要素の値としてorg.eclipse.persistence.jpa.PersistenceProviderを入力します。

例3-5 persistence.xmlのサンプル・ファイル

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="JPA" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>com.oracle.handson.Employees</class>
...

永続性ユニットのパッケージ化

TopLink Gridを使用するJPA永続性ユニット(persistence.xmlファイルなどのエンティティ・クラスおよびリソース)は、JARとしてパッケージ化され、EARモジュール内に含める必要があります。たとえば、JARはAPP-INF/libディレクトリまたは、GARモジュールを含むEARモジュールのルートに配置できます。

例3-6 EARにパッケージ化されたCoherenceおよびJPAアプリケーション

MyEAR/
APP-INF
/lib/MyPersistenceUnit.jar
META-INF/
application.xml
weblogic-application.xml
MyWAR.war
MyEJB.jar
MyGAR.gar

注意:
永続性ファイルはWARファイル内に配置できません。WARファイル内に配置される永続性ファイルは、実行時に検索されません。Coherenceは、アプリケーション・クラス・ローダーにのみアクセスできます。

アプリケーション層とは異なり、Coherenceデータ層ではGARのデプロイメントのみが必要です。データ層に対しては、GARの/libディレクトリ内の永続性ユニットJARを含めます。例:

MyCohApp/
lib/
MyPersistence.jar
META-INF/
coherence-application.xml
coherence-cache-config.xml
pof-config.xml
com/myco/
MyClass.class

セッション管理でのCoherenceの使用

Webアプリケーションでは、セッション状態の格納およびレプリケートにCoherenceの使用を選択できます。Coherenceのセッション管理機能は、Coherence*Webコンポーネントによって実装されます。WebLogic ServerでのCoherence*Webの設定、構成および使用の詳細は、『Oracle Coherence*WebでのHTTPセッション・マネージメントの管理』を参照してください。

WebLogic ServerでのExtendクライアントの作成

クライアント・アプリケーションでは、Coherenceキャッシュとのやり取りにCoherence*Extendの使用を選択できます(Coherenceクラスタのメンバーになる必要はありません)。クライアント・アプリケーションは、管理対象Coherenceプロキシ・サーバーに接続し、キャッシュおよび呼出しサービスのリクエストがリモートで実行されていることを意識しません。リモート・クライアントはWebLogic Serverドメイン内にデプロイすることも、WebLogic Serverの外部にすることもできます。WebLogic Server内のCoherenceプロキシ・サーバー層を設定してリモート接続を可能にする方法については、『Oracle WebLogic Serverクラスタの管理』を参照してください。Coherence*Extendクライアント・アプリケーションの作成については、『Oracle Coherenceリモート・クライアントの開発』を参照してください。

WebLogic ServerでのJCacheキャッシュの使用

管理対象Coherenceコンテナにデプロイされるアプリケーションは、JCache API、およびCoherenceで実装されるJCacheプロバイダを使用できます。JCacheとCoherenceの使用の詳細は、『Oracle Coherenceでのアプリケーションの開発』を参照してください。

JCacheを使用するには、次の手順を実行します。

1. COHERENCE_HOME/lib/cache-api.jarおよびCOHERENCE_HOME/lib/coherence-jcache.jarライブラリをGARファイルの/libディレクトリに追加します。

2. coherence-application.xmlファイルで参照されるキャッシュ構成ファイルを編集して、JCacheネームスペースまたはJCacheExtendネームスペースを含めます。次に例を示します

<cache-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-cache-config"
xmlns:jcache="class://com.tangosol.coherence.jcache.JCacheNamespace"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-cache-config
coherence-cache-config.xsd">
...

3. JCahe APIを使用して作成するか、JCacheキャッシュを使用します。次にサーブレット内の例を示します。

static private Cache<ContactId, Contact> getCache(String cacheName)
{
CachingProvider provider = Caching.getCachingProvider();
CacheManager mgr = Caching.getCachingProvider().getCacheManager();

Cache<ContactId, Contact> cache = null;

try {
cache = mgr.getCache(cacheName, ContactId.class, Contact.class);
}

catch (IllegalStateException e) {

if (cache == null) {
PartitionedCacheConfiguration config = new
PartitionedCacheConfiguration<ContactId, Contact>();
config.setTypes(ContactId.class, Contact.class);
config.setStatisticsEnabled(true); config.setManagementEnabled(true);
cache = mgr.createCache(cacheName, config);
}
return cache;
}

4 WebLogic ServerでのCoherenceアプリケーションのデプロイ

この章では、WebLogic Serverドメイン内の管理対象CoherenceサーバーにCoherenceアプリケーションをデプロイする手順を示します。Coherenceアプリケーションは、デプロイメント用にグリッド・アーカイブ(GAR)としてパッケージ化する必要があります。GARの作成の詳細は、「Coherenceアプリケーションのパッケージ化」を参照してください。

この章の内容は次のとおりです。

- Coherenceのデプロイメント層の理解

- 管理対象Coherenceサーバーへのアプリケーションのデプロイ

- 共有ライブラリとしてのCoherenceアプリケーションのデプロイ

- Coherenceアプリケーションからの共有ライブラリの参照

- ローリング再デプロイの実行

- アプリケーション・クロスローダーからのCoherenceのロード

- WebLogic ServerでのCoherenceアプリケーションの保護

Coherenceのデプロイメント層の理解

Coherenceは、WebLogic Serverドメイン内の層に配置されます。通常は、データを格納するデータ層、キャッシュされたデータを消費するアプリケーション層、およびリモート・クライアント(非クラスタ・メンバー)がクラスタを使用可能にするためのプロキシ層があります。アプリケーション層およびプロキシ層とは別の専用ストレージ層を使用することが、Coherenceクラスタの最適なパフォーマンスを確保するためのベスト・プラクティスです。

デプロイメント層には、Coherenceクラスタの一部である管理対象サーバーが含まれます。Coherenceクラスタの一部である管理対象サーバーは、管理対象Coherenceサーバーと呼ばれます。通常、Coherenceの層は、それぞれWebLogic Serverクラスタと関連付けられます。WebLogic Serverクラスタを使用することで、アプリケーションのデプロイメントおよびデプロイメント・トポロジの管理が簡略化されます(特に大規模クラスタの場合)。ただし、各層の管理対象Coherenceサーバーは、必要に応じて個別に管理できます。

デプロイメントおよび簡単なテスト中に、Coherenceのデプロイメント層を配置するのは現実的ではありません。この場合、Coherenceアプリケーションは単一の管理対象サーバーにデプロイすることが可能で、単一サーバー・クラスタがデフォルトのクラスタ設定で自動的に作成されます。

Coherenceデータ層の作成およびデプロイメント用Coherenceクラスタの設定の詳細は、『Oracle WebLogic Serverクラスタの管理』を参照してください。

管理対象Coherenceサーバーへのアプリケーションのデプロイ

CoherenceアプリケーションGARモジュールは、JavaEEモジュールと同様にデプロイされ、WebLogic Server管理コンソール、Oracle WebLogic Scripting Tool (WLST)、WebLogic Server DeployerクラスおよびWebLogic Server <wldeploy ANTターゲットのうち、任意のWebLogic Serverデプロイメント・ツールを使用してデプロイできます。WebLogic Server管理コンソールの使用の詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプを参照してください。WLSTの使用の詳細は、『WebLogic Scripting Toolの理解』を参照してください。その他のデプロイメント・オプションの詳細は、『Oracle WebLogic Serverへのアプリケーションのデプロイ』を参照してください。

注意:
GARを含むEARの製品の再デプロイは、ストレージが無効化されたクラスタ・クライアントでのみサポートされます。また、GARのコードに対する変更には既存のデプロイメントとの後方互換性が必要です。たとえば、変更しているエンティティ・クラスにEvolvableインタフェースを実装する必要があります。製品の再デプロイの詳細は、『Oracle WebLogic Serverへのアプリケーションのデプロイ』を参照してください。

GARモジュールは、スタンドアロン・モジュールとして、またEARの一部としてデプロイする必要があります。次に、Coherence層を使用するWebLogic Serverドメインに、GARモジュールがどのようにデプロイされるかを示します。Coherenceデプロイメント層の作成の詳細は、『Oracle WebLogic Serverクラスタの管理』を参照してください。

- データ層 – スタンドアロンのGARをデータ層の各管理対象Coherenceサーバーにデプロイします。データ層がWebLogic Serverクラスタとして設定されている場合、そのクラスタにGARをデプロイし、各管理対象Coherenceサーバーにモジュールをコピーします。

- アプリケーション層 – クライアント実装(Webアプリケーション、EJBなど)およびGARの両方を含むEARを、クラスタ内の各管理対象Coherenceサーバーにデプロイします。アプリケーション層がWebLogic Serverクラスタとして設定されている場合、そのクラスタにEARをデプロイし、各管理対象Coherenceサーバーにモジュールをコピーします。

- プロキシ層 – スタンドアロンのGARをプロキシ層の各管理対象Coherenceサーバーにデプロイします。GAR内にパッケージ化されるキャッシュ構成ファイルには、プロキシ・サービスの定義が含まれている必要があります。アプリケーション層がWebLogic Serverクラスタとして設定されている場合、そのクラスタにGARをデプロイし、各管理対象Coherenceサーバーにモジュールをコピーします。

- Extendクライアント層 – Extendクライアント実装(Webアプリケーション、EJBなど)およびGARを含むEARを、Extendクライアントをホストする各管理対象サーバーにデプロイします。クライアントのキャッシュ構成ファイルは、プロキシ・サーバーのアドレスを定義するリモート・キャッシュ・サービス定義を含む必要があります。Extendクライアント層をWebLogic Serverクラスタとして設定する場合は、EARをクラスタにデプロイします(WebLogicデプロイメント・インフラストラクチャはそのモジュールを各管理対象Coherenceサーバーにコピーします)。

共有ライブラリとしてのCoherenceアプリケーションのデプロイ

スタンドアロンのGARを、共有ライブラリとしてデプロイし、複数のEARファイルから参照することができます。共有ライブラリおよびそのデプロイメントの一般的な情報は、『Oracle WebLogic Serverアプリケーションの開発』の共有Java EEライブラリおよびオプション・パッケージの作成に関する項を参照してください。

実行時にGARを使用するには、EAR内のweblogic-application.xmlデプロイメント・ディスクリプタにGARへの参照が含まれている必要があります。例:

<weblogic-application>
<library-ref>
<library-name>ExampleGAR</library-name>
</library-ref>
</weblogic-application>

この構成は、アプリケーション層およびデータ層の両方が単一の管理対象Coherenceサーバー上にある、単一層ドメインで機能します。これに対し、複数層ドメインでは、共有ライブラリとしてデプロイされたGARが期待どおりに起動する記憶域が有効なメンバーとなるようにするには、追加の構成が必要です。

複数層ドメインでGARを共有ライブラリとしてデプロイするには、次の手順を実行します。

1. GAR内のキャッシュ構成ファイルを編集し、明示的に<scope-name要素にGAR名を設定します。スコープ名の構成の詳細は、Oracle Coherenceの管理を参照してください。
たとえば、GARの名前がExampleGAR.garの場合、<scope-name>要素は次のように定義します。

<cache-config>
<defaults>
<scope-name>ExampleGAR</scope-name>
</defaults>
...

2. GARをアプリケーション(記憶域が有効)層に共有ライブラリとしてデプロイし、GAR名をアプリケーション名として指定します。たとえば、GARの名前がExampleGAR.garの場合、GAR名はExampleGARとして指定します。

3. EARでweblogic-application.xmlデプロイメント・ディスクリプタを編集し、GARへの参照を含めます。例:

<weblogic-application>
<library-ref>
<library-name>ExampleGAR</library-name>
</library-ref>
</weblogic-application>

4. EARをアプリケーション層にデプロイします。

5. 同じGARをデータ(記憶域が有効)層にデプロイし、名前を変更します。たとえば、ExampleGAR-DataTierとします。名前を指定しない場合は、デプロイメント名に-1が追加されます(このGARは共有ライブラリとしてすでに存在するためです)。

6. デプロイメントが完了すると、両方の層にデプロイされたGAR(たとえば、ExampleGARおよびExampleGAR-DataTier)は、同じサービスに参加し、クライアント・リクエストの処理とデータ記憶域は期待どおりに分離されます。

Coherenceアプリケーションからの共有ライブラリの参照

GARモジュールではWebLogic Serverにデプロイされる共有ライブラリを使用できます。共有ライブラリを使用するには、weblogic-coh-app.xmlデプロイメント・ディスクリプタの<library-ref>ノード内で共有ライブラリを参照し、GARモジュールの/META-INFディレクトリでデプロイメント・ディスクリプタをパッケージ化します。ディスクリプタの使用可能な要素の詳細なリファレンスは、付録B「weblogic-coh-app.xmlデプロイメント・ディスクリプタの要素」を参照してください。次に例を示します。

<?xml version="1.0"?>
<weblogic-coh-app
xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-coh-app">
<library-ref>
<library-name>mySharedLibrary</library-name>
<specification-version>2.0</specification-version>
<implementation-version>8.1beta</implementation-version>
<exact-match>false</exact-match>
</library-ref>
</weblogic-coh-app>

ローリング再デプロイの実行

複数のGARモジュールが同じWebLogic Serverクラスタをターゲットとする場合、これらのモジュールはすべての管理対象Coherenceサーバーに同時に再デプロイされます。再デプロイメント中にサーバー上のデータ・パーティションが別のサーバーに完全に送信されるようにすることでデータ損失を防ぐプロビジョンはありません。

ローリング再デプロイは、WebLogic Serverクラスタ全体でGARを更新するための技術であり、各管理対象Coherenceサーバーに個別にGARを再デプロイし、すべてのサーバーを循環します。ローリング再デプロイによって、キャッシュ・データはGARの再デプロイ中に再配分できます。そうしない場合、GARがすべてのキャッシュ・サーバーに同時に再デプロイされると、キャッシュ・データは失われます。

注意:
サーバーをターゲットとするデプロイメント間でパーティション化されたサービスのStatusHAメトリックを常に確認して、MACHINE_SAFEステータスを確保します。このメトリックの詳細は、『Oracle Coherenceのマネージメント』を参照してください。

ローリング再デプロイを実行するには、GARをspecifiedtargetsonlyオプションを使用してデプロイする必要があり、これによってこのGARに対する以降の更新は、このGARを含むすべてのターゲットではなく、現在のターゲットでのデプロイメントとなります。specifiedtargetsonlyオプションはWebLogic Server管理コンソールからは使用できないため、WLST、weblogic.Deployerまたは<wldeploy> ANTターゲットを使用して指定する必要があります。

GARファイルのフルパスおよび名前は、そのGARの最初のデプロイ時に使用したパスおよび名前と正確に一致する必要があります。異なるパスまたは名前を使用すると、GARの名前に-1、-2、または-1および-2が追加され、ローリング再デプロイが適切に機能しなくなります。さらに、GARの最初のデプロイ時にupload=trueオプションを使用した場合は、upload=trueオプションを使用して再デプロイする必要があります(そうしない場合、ローリング再デプロイは適切に機能しません)。

Coherenceアプリケーションの再デプロイの(WLSTスクリプトを含む)完全な例(MACHINE_SAFEステータスの確保を含む)については、Coherenceの例(WebLogic Serverの例の一部)を参照してください。この例を参照するには、WebLogic Serverのカスタム・インストールを実行して、Serverの例のインストールを選択します。詳細は、『Oracle WebLogic Serverの理解』を参照してください。

WLST

deploy('MyCohApp', '/myapps/MyCohApp.gar', 'server1', specifiedTargetsOnly='true')

<wldeploy> ANTターゲット

<wldeploy
user="${admin.username}"
password="${admin.password}"
adminurl="t3://${admin.host}:${admin.port}"
debug="false"
action="deploy"
name="Coherence GAR"
source="${gar.filename}"
targets="ms3"
specifiedtargetsonly="true"
failonerror="true"/>

weblogic.Deployer

java weblogic.Deployer -adminurl t3://localhost:7001 -username username -password password -targets ms3 -deploy -name MyCohApp /myapps/MyCohApp.gar -specifiedtargetsonly

アプリケーション・クラス・ローダーからのCoherenceのロード

Coherenceライブラリ(coherence.jar)は、WebLogic Serverのシステム・クラスパスに含まれています。常にこのライブラリを使用し、coherence.jarライブラリをWebアプリケーションの/libディレクトリに含めないことがベスト・プラクティスです。高度なユースケースではWebアプリケーションにcoherence.jarライブラリを含めますが、その場合はweblogic.xmlファイルで<prefer-application-packages>および<prefer-application-resources>要素を使用してCoherenceリソースを定義する必要があります。例:

<container-descriptor>
<prefer-application-packages>
<package-name>com.tangosol.*</package-name>
<package-name>com.oracle.common.**</package-name>
</prefer-application-packages>

<prefer-application-resources>
<resource-name>com.tangosol.*</resource-name>
<resource-name>com.oracle.common.*</resource-name>
<resource-name>coherence-*.xml</resource-name>
<resource-name>coherence-*.xsd</resource-name>
<resource-name>tangosol-*.xml</resource-name>
<resource-name>tangosol.properties</resource-name>
<resource-name>tangosol.cer</resource-name>
<resource-name>tangosol.dat</resource-name>
<resource-name>internal-txn-cache-config.xml</resource-name>
<resource-name>txn-pof-config.xml</resource-name>
<resource-name>pof-config.xml</resource-name>
<resource-name>management-config.xml</resource-name>
<resource-name>processor-dictionary.xml</resource-name>
<resource-name>reports/*</resource-name>
</prefer-application-resources>
</container-descriptor>

WebLogic ServerでのCoherenceアプリケーションの保護

管理対象CoherenceサーバーにデプロイされるCoherenceアプリケーションの保護については、『Oracle Coherenceの保護』を参照してください。

A coherence-application.xmlデプロイメント・ディスクリプタの要素

この付録では、Coherenceアプリケーション・デプロイメント・ディスクリプタcoherence-application.xml内の要素に関するすべてのリファレンス情報を示します。

この付録の構成は、次のとおりです。

- coherence-application.xmlのネームスペース宣言およびスキーマの場所

- application-lifecycle-listener

- cache-configuration-ref

- coherence-application

- configurable-cache-factory-config

- init-params

- pof-configuration-ref

coherence-application.xmlのネームスペース宣言およびスキーマの場所

coherence-application.xmlファイルのネームスペース宣言およびスキーマの場所の適切なテキストは、次のとおりです。

<coherence-application
xmlns="http://xmlns.oracle.com/coherence/coherence-application">

application-lifecycle-listener

application-lifecycle-listener要素は、com.tangosol.application.LifeCycleListenerインタフェースを実装するクラスの完全修飾名を指定します。このクラスでは、Coherenceキャッシュおよびクラスタ化されたサービスの作成および破棄の前後のカスタム処理が可能です。

次の表に、application-lifecycle-listener要素で定義できる要素を示します。

表A-1 application-lifecycle-listenerの要素

要素

必須/
オプション

説明

class-name

必須

com.tangosol.application.LifeCycleListenerインタフェースを実装するクラスの完全修飾名を指定します。

init-params

オプション

その実装で必要となる初期化パラメータを指定します。任意の数のinit-params要素を定義できます。

cache-configuration-ref

cache-configuration-ref要素は、Coherenceキャッシュ構成ファイルの名前および場所を指定します。このファイルの場所は、Coherenceグリッド・アーカイブ(GAR)内のルート・ディレクトリに対して相対的です。URLも指定できます。このファイルが見つからない場合、またはこの要素が指定されていない場合、デフォルトで事前定義済のキャッシュ構成ファイル(coherence-cache-config.xml)が使用されます(このファイルはシステム・クラスパスのcoherence.jarライブラリに配置されています)。

注意:
構成ファイルをGARのルート・ディレクトリに配置する場合、デフォルトのファイル名(coherence-cache-config.xml)は使用しないでください(デフォルトのファイル名を使用した場合、システム・クラスパスに配置されたcoherence.jarファイルに含まれる構成ファイルが最初に検索され、GAR内の構成ファイルがロードされることはありません)。ファイル名の変更以外に、構成ファイルをGARのMETA-INFディレクトリに配置する方法もあります。

coherence-application

coherence-application要素は、Coherenceアプリケーション・デプロイメント・ディスクリプタのルート要素です。

次の表に、coherence-application要素で定義できる要素を示します。

表A-2 coherence-applicationの要素

要素

必須/
オプション

説明

cache-configuration-ref

オプション

Coherenceキャッシュ構成ファイルの名前および場所を指定します。

pof-configuration-ref

オプション

Coherence Portable Object Format (POF)構成ファイルの名前および場所を指定します。

application-lifecycle-listener

オプション

com.tangosol.application.LifeCycleListenerインタフェースを実装するクラスの完全修飾名を指定します。

configurable-cache-factory-config

オプション

com.tangosol.net.ConfigurableCacheFactoryインタフェースを実装するクラスの完全修飾名を指定します。

configurable-cache-factory-config

configurable-cache-factory-config要素は、com.tangosol.net.ConfigurableCacheFactoryインタフェースを実装するクラスの完全修飾名を指定します。デフォルトの実装は、com.tangosol.net.ExtensibleConfigurableCacheFactoryクラスです。

カスタムのConfigurableCacheFactory実装の使用は高度なユースケースであり、通常は、異なるクラス・ローダーによってスコープ設定されるアプリケーションが異なるキャッシュ構成ファイルを使用できるようにする場合に使用されます。

次の表に、configurable-cache-factory-config要素で定義できる要素を示します。

表A-3 configurable-cache-factory-configの要素

要素

必須/
オプション

説明

class-name

必須

com.tangosol.net.ConfigurableCacheFactoryインタフェースを実装するクラスの完全修飾名を指定します。

init-params

オプション

その実装で必要となる初期化パラメータを指定します。任意の数のinit-params要素を定義できます。

init-params

init-params要素は、初期化パラメータを指定します。任意の数のinit-params要素を定義できます。

次の表に、init-params要素で定義できる要素を示します。

表A-4 init-paramsの要素

要素

必須/
オプション

説明

param-type

オプション

初期化パラメータのJavaタイプを指定します。次の標準タイプがサポートされています。

- java.lang.String (string)

- java.lang.Boolean (boolean)

- java.lang.Integer (int)

- java.lang.Long (long)

- java.lang.Double (double)

- java.math.BigDecimal

- java.io.File

- java.sql.Date

- java.sql.Time

- java.sql.Timestamp

param-value

オプション

初期化パラメータの値を指定します。この値は、パラメータのJavaタイプに固有の形式にします。

例:

<init-params>
<param-type>java.lang.String</param-type>
<param-value>EmployeeTable</param-value>
</init-params>

pof-configuration-ref

pof-configuration-ref要素は、Coherence POF構成ファイルの名前および場所を指定します。このファイルの場所は、Coherenceグリッド・アーカイブ(GAR)内のルート・ディレクトリに対して相対的です。URLも指定できます。このファイルが見つからない場合、またはこの要素が指定されていない場合、デフォルトで事前定義済のPOF構成ファイル(pof-config.xml)が使用されます(このファイルはシステム・クラスパスのcoherence.jarライブラリに配置されています)。

注意:
構成ファイルをGARのルート・ディレクトリに配置する場合、デフォルトのファイル名(pof-config.xml)は使用しないでください(デフォルトのファイル名を使用した場合、システム・クラスパスに配置されたcoherence.jarファイルに含まれる構成ファイルが最初に検索され、GAR内の構成ファイルがロードされることはありません)。ファイル名の変更以外に、構成ファイルをGARのMETA-INFディレクトリに配置する方法もあります。

B weblogic-coh-app.xmlデプロイメント・ディスクリプタの要素

この付録では、WebLogic Coherenceアプリケーション・デプロイメント・ディスクリプタweblogic-coh-app.xml内の要素に関するすべてのリファレンス情報を示します。

この付録の内容は次のとおりです。

- weblogic-coh-app.xmlのネームスペース宣言およびスキーマの場所

- weblogic-coh-app

- library-ref

weblogic-coh-app.xmlのネームスペース宣言およびスキーマの場所

weblogic-coh-app.xmlファイルのネームスペース宣言とスキーマの場所を表す正確なテキストは次のとおりです。

<weglogic-coh-app
xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-coh-app">

weblogic-coh-app

weblogic-coh-app要素は、WebLogic Coherenceアプリケーションのデプロイメント・ディスクリプタのルート要素です。

次の表では、weblogic-coh-app要素内で定義できる要素について説明します。

表B-1 weblogic-coh-app要素

要素

必須/
オプション

説明

description

オプション

説明を指定します。

library-ref

オプション

Coherenceアプリケーションでライブラリとして使用する共有ライブラリ・モジュールを指定します。

library-ref

library-ref要素では、Coherenceアプリケーションでライブラリとして使用する共有ライブラリ・モジュールを指定します。

次の表では、library-ref要素内で定義できる要素について説明します。

表B-2 library-ref要素

要素

必須/
オプション

説明

library-name

必須

参照される共有ライブラリの名前を指定します。

specification

オプション

最低限の仕様バージョン要件を指定します。

implementation-version

オプション

最低限の実装バージョン要件を指定します。

exact-match

オプション

指定した仕様バージョンおよび実装バージョンと参照したライブラリの仕様バージョンおよび実装バージョンが完全一致する必要があるどうかを指定します。

デフォルト値はfalseです。

オラクルの法律上の注意点について

コピーライトについて

Copyright © 1994-2016, Oracle and/or its affiliates.All rights reserved.

ライセンス制約の保証と結果的に生じる損害の免責

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

保証免責

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクルまでご連絡ください。

制限付権利について

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

危険な用途への使用について

このソフトウェアまたはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアまたはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアまたはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、Oracle Corporationおよびその関連会社は一切の責任を負いかねます。

商標と登録商標について

OracleおよびJavaはオラクルおよびその関連会社の登録商標です。その他の社名、商品名等は各社の商標または登録商標である場合があります。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

第三者のコンテンツ、製品、サービスに対する免責事項

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。適用されるお客様とOracle Corporationとの間の契約に別段の定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。適用されるお客様とOracle Corporationとの間の契約に定めがある場合を除いて、Oracle Corporationおよびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

アルファ版およびベータ版ドラフト・ドキュメントについて

このドキュメントが試作版の場合:

このドキュメントは試作版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。Oracle Corporationおよびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。

非公開のアルファ版およびベータ版ドラフト・ドキュメントについて

このドキュメントが非公開の試作版の場合:

このドキュメントに含まれる情報は、情報の共有のみを目的としたものであって、顧客諮問委員会(Customer Advisory Board)のメンバーとしてのお客様の立場でのみ、またはお客様のベータ・トライアル契約のみに従って検討されるべきものとします。マテリアル、コード、または機能の提供をお約束するものではなく、購入決定を行う際の判断材料とすべきではありません。このドキュメントに記載されている特徴または機能の開発、リリースおよび時期については、オラクルの裁量により決定されます。

このドキュメントには、ソフトウェアまたは印刷物などの形式を問わず、オラクルが独占的な権利を有する財産的情報が含まれています。この機密資料へのアクセスと使用は、お客様とオラクルとの間で締結され、お客様が遵守に同意した、Oracle Master Agreement、Oracle License and Oracle Services Agreement (オラクル・ライセンスおよびサービスに関する契約書)、Oracle PartnerNetwork Agreement、Oracle Distribution Agreementまたはその他のライセンス契約の条件に従うものとします。このドキュメントとその内容の開示、コピー、複製および配布には、オラクルによる事前の承諾を必要とします。このドキュメントはライセンス契約の一部となるものではなく、オラクルおよびその子会社や関連会社との契約を構成するものではありません。

ドキュメントのアクセシビリティについて

オラクルのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイトhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc を参照してください。

Oracle Supportへのアクセス

サポートをご契約のお客様には、My Oracle Supportを通して電子支援サービスを提供しています。詳細情報はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=infoか、聴覚に障害のあるお客様はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=trsを参照してください。