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

Coherenceキャッシュは依存関係インジェクションおよびJNDIを使用してアクセスできます。Coherenceアプリケーションは、グリッド・アーカイブ(GAR)としてパッケージ化できます。

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

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>

Maven原型からのCoherenceプロジェクトの作成

Coherence Maven原型を使用して、新しいCoherenceプロジェクトを作成できます。

  1. Coherence Maven原型を使用して新規Coherenceプロジェクトを作成するには、次のようなコマンドを実行してください:
    mvn archetype:generate
        -DarchetypeGroupId=com.oracle.coherence.archetype
        -DarchetypeArtifactId=gar-maven-archetype
        -DarchetypeVersion=14.1.1-0-0
        -DgroupId=org.mycompany
        -DartifactId=my-gar-project
        -Dversion=1.0-SNAPSHOT

    このコマンドにより、Mavenのarchetype:generateゴールが実行され、原型から新規プロジェクトを作成できます。表3-1に、パラメータを示します。

    表3-1 Coherenceプロジェクトのパラメータ

    パラメータ 目的

    archetypeGroupId

    新規プロジェクトの作成に使用する原型のgroup ID。これは、com.oracle.coherence.archetypeである必要があります。

    archetypeArtifactId

    新規プロジェクトの作成に使用する原型のartifact ID。これは、gar-maven-archetypeである必要があります。

    archetypeVersion

    新規プロジェクトの作成に使用する原型のバージョン。これは、14.1.1-0-0である必要があります。

    groupId

    新規プロジェクトのgroup ID。通常、これは組織のドメイン名を逆にした形式で始まります。

    artifactId

    新規プロジェクトのartifact ID。通常、これはプロジェクトの識別子です。

    version

    新規プロジェクト用のversion。新規プロジェクトの場合、これは通常1.0-SNAPSHOTです。

    また、次の例に示すように、引数なしでコマンドを実行することもできます。この場合、Mavenでは、使用可能な原型のリストが表示され、必要な情報の入力を求められます。

    mvn archetype:generate

    プロジェクトを作成すると、次のファイルがプロジェクトに含まれます:

    図3-1 Mavenプロジェクト・ファイル

    図3-1の説明が続きます。
    「図3-1 Mavenプロジェクト・ファイル」の説明

    表3-2ではプロジェクトに含まれるファイルについて説明します。

    表3-2 Coherenceプロジェクト用に作成されるファイル

    ファイル 目的

    pom.xml

    新規プロジェクトについて記述するMavenプロジェクト・オブジェクト・モデル(POM)ファイル。プロジェクトに指定したMaven座標が含まれ、Coherence Mavenプラグインを使用してプロジェクトをgarファイルにビルドするための適切なプラグイン定義も含まれます。

    coherence-application.xml

    GARファイルの初期Coherence GARデプロイメント・ディスクリプタです。

    pof-config.xml

    初期Coherence Portable Object Format (POF)構成ファイルです。プラグイン・オプションgeneratePofが「true」に設定されている場合、POF構成ファイルは処理され、最終GARファイルに挿入されます。デフォルトでは、POF構成メタデータは生成されません。

    前述の表にリストされている生成されたファイルのサンプルを次に示します:

    pom.xml
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <groupId>org.mycompany</groupId>
      <artifactId>my-gar-project2</artifactId>
      <version>1.0-SNAPSHOT</version>
      <packaging>gar</packaging>
      <dependencies>
        <dependency>
          <groupId>com.oracle.coherence</groupId>
          <artifactId>coherence</artifactId>
          <version>[14.1.1-0,14.1.1-1)</version>
          <scope>provided</scope>
        </dependency>
      </dependencies>
      <build>
        <plugins>
          <plugin>
            <groupId>com.oracle.coherence</groupId>
            <artifactId>gar-maven-plugin</artifactId>
            <version>12.2.1-3-23</version>
            <extensions>true</extensions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.6</version>
            <configuration>
              <forceCreation>true</forceCreation>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </project>
    coherence-application.xml
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <coherence-application xmlns="http://xmlns.oracle.com/weblogic/coherence-application">
      <cache-configuration-ref>META-INF/cache-config.xml</cache-configuration-ref>
      <pof-configuration-ref>META-INF/pof-config.xml</pof-configuration-ref>
    </coherence-application>
    pof-config.xml
    <?xml version="1.0"?>
    <!-- Note: To add custom types, create a new 'pof-config.xml' file
         containing your custom user-type elements, and place it at the
         beginning of the class path. -->    
    
    <pof-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xmlns="http://xmlns.oracle.com/coherence/coherence-pof-config"
                  xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-pof-config coherence-pof-config.xsd">        
      <user-type-list>
        <!-- by default just include coherence POF user types -->
        <include>coherence-pof-config.xml</include>    
      </user-type-list>
    </pof-config>
  2. プロジェクトでPOFを使用する場合は、次のパラメータをプロジェクトのPOMファイルに追加する必要があります。
    パラメータ 目的

    generatePof

    このプラグイン・オプションがtrueである場合は、POF構成ファイルが生成され、最終GARファイルに挿入されます。構成ファイルは、GARのクラスパスでクラスcom.tangosol.io.pof.annotation.Portableが注釈付けされたすべてのクラスをスキャンして生成されます。デフォルトでは、POF構成メタデータは生成されません。

  3. 適切に生成されたpof-config.xmlを使用してGARを生成するには、POMのGARプラグイン構成ファイルに次を追加します。
    <build>
    <plugins>
    …
        <plugin>
          <groupId>com.oracle.coherence</groupId>
          <artifactId>gar-maven-plugin</artifactId>
          <version>14.1.1-0-0</version>
          <extensions>true</extensions>
          <configuration>
             <generatePof>true</generatePof>
          </configuration>
        </plugin>
    …
      </plugins>
    </build>

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

デプロイメント・ディスクリプタが存在することで、有効なGARが示されます。GARファイルには、META-INFディレクトリにあるCoherenceアプリケーションのデプロイメント・ディスクリプタ(cohererence-application.xml)を含める必要があります。

ディスクリプタの使用可能なすべての要素の詳細なリファレンスは、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キャッシュは、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は、myCacheNamedCacheとして識別する<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が提供されます。

Coherence APIの機能の一部には次のものがあります。

  • 基本的なgetputおよびputAll操作

  • キャッシュの問合せ

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

  • イベント通知

アプリケーションを開発するためのAPIの使用の詳細は、『Oracle Coherenceでのアプリケーションの開発』を参照してください。Coherence APIのリファレンスについては、Oracle CoherenceのJava APIリファレンスを参照してください。

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

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

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>

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

開発者は標準のJava Persistence API (JPA)をアプリケーションで使用して、Coherenceのスケーラビリティを活用して、リレーショナル・データにアクセスおよび取得します。

TopLink Gridは、TopLinkとCoherence間の統合です。TopLink Gridは、Coherenceデータ・グリッド内のドメイン・モデルの一部または全体を格納するために使用され、レベル2のキャッシュとしても使用できます。『Oracle Coherenceの統合』を参照してください。

TopLink Gridライブラリ(toplink-grid.jar)は、INSTALL_HOME\oracle_common\modules\oracle.toplink_versionディレクトリに配置されます。このライブラリは、WebLogic 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プロバイダを使用できます。

CoherenceでのJCacheの使用の詳細は、『Oracle Coherenceでのアプリケーションの開発』を参照してください。

  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;
    }