ヘッダーをスキップ
Oracle® Fusion Middleware ActiveCacheの使用
11gリリース1 (10.3.6)
B65046-02
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
 

4 関係データのアクセスと取得

TopLink Gridは、Java Persistence API (JPA)を使用するアプリケーション開発の標準化と簡略化を、OracleのCoherence Data Gridの拡張性と処理能力に結合します。開発者はJPAにかけた投資を活用し、Coherenceの拡張性を利用できます。標準JPAアプリケーションは、ActiveCacheではなく主要データ・ストア(通常はリレーショナル・データベース)と直接相互通信を行うため、TopLink Grid開発者はCoherenceデータ・グリッド内のドメイン・モデルの一部または全部を保存するよう選択できます。

Coherence環境に対するTopLink Gridの構成の詳細は、『Oracle TopLinkのためのCoherence Grid統合ガイド』を参照してください。

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

persistence.xmlファイルは、JPA永続性記述子ファイルです。これによって、永続性ユニット、永続性プロバイダおよびこの参照で記述されるベンダー固有の拡張を構成します。

このファイルのprovider要素で、ベンダーの永続性プロバイダ・クラスの名前を指定します。Oracle TopLinkと組み合せる場合、この要素の値としてorg.eclipse.persistence.jpa.PersistenceProviderと入力します。

例4-1 サンプル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>

...

CoherenceクラスタへのTopLink Gridの機能の追加

「アプリケーションのパッケージ化とCoherenceクラスタ・スコープの構成」に記載されているとおり、Coherenceクラスタは、クラスローダー階層内にcoherence.jarファイルを配置する場所に従い、クラスローダー・スコープを指定されます。Coherenceクラスタは、アプリケーション・サーバー・スコープ、EARスコープまたはWARスコープにできます。TopLink Gridの機能をクラスタ内で実行されているアプリケーションで使用できるようにするには、TopLink Grid JARファイルをクラスパスに追加する必要もあります。

TopLink Grid JARファイル(toplink-grid-1.0.jar)には、TopLinkとOracle Coherenceとの対話を可能にするクラスが含まれています。ファイルは、WebLogic Serverのディストリビューションのcommon\deployable-librariesフォルダにあります。

次の項では、アプリケーション・サーバー、EAR、WARの各スコープのクラスタ環境用にJARを追加する方法について説明します。

アプリケーション・サーバー・スコープCoherenceクラスタへのTopLink Gridの追加

TopLink Gridを使用してCoherenceキャッシュにJPAエンティティを保存する場合、次の手順を実行します。

  1. 「アプリケーション・サーバー・スコープのCoherenceクラスタの構成」の手順に従い、coherence.jaractive-cache.jarをシステム・クラスパスにインクルードします。

  2. WebLogic Serverシステム・クラスパスを編集して、toplink-grid-1.0.jarをシステム・クラスパスに含めます。

EARスコープCoherenceクラスタへのTopLink Gridの追加

TopLink Gridを使用してCoherenceキャッシュにJPAエンティティを保存する場合、次の手順を実行します。

  1. 「EARスコープのCoherenceクラスタの構成」の手順に従い、coherence.jarおよびactive-cache.jarファイルを共有ライブラリとしてデプロイします。

  2. 次のいずれかの方法を使用して、toplink-grid-1.0.jarを共有ライブラリとしてデプロイします。

    • WebLogic Server管理コンソールまたはコマンドラインを使用して、toplink-grid-1.0.jarを共有ライブラリとしてデプロイします。

      java weblogic.Deployer -username <> -password <> -adminurl <> -deploy toplink-grid-1.0.jar -name toplink-grid -library -targets <>
      

      toplink-grid-1.0.jarを共有ライブラリとしてデプロイする場合、これをweblogic-application.xmlファイルでlibrary-refとして参照します。例4-2は、weblogic-application.xmlファイルで参照されるtoplink-grid-1.0.jarを示します。

      例4-2 weblogic-application.xmlファイルにおけるTopLink Grid JARファイルの参照

      <weblogic-application>
      ...
        <library-ref>
          <library-name>coherence</library-name>
        </library-ref>
         ...
        <library-ref>
          <library-name>active-cache</library-name>
        </library-ref>
        <library-ref>
          <library-name>toplink-grid</library-name>
        </library-ref>
      ...
      </weblogic-application>
      
    • toplink-grid-1.0.jarをアプリケーションEARのAPP-INF/libフォルダにコピーします。ただし、共有ライブラリとしてデプロイする方法が優先されます。

WARスコープCoherenceクラスタへのTopLink Gridの追加

TopLink Gridを使用してCoherenceキャッシュにJPAエンティティを保存する場合、次の手順を実行します。

  1. 「WARスコープのCoherenceクラスタの構成」の手順に従い、coherence.jarおよびactive-cache.jarファイルをデプロイします。

  2. WebLogic Server管理コンソールまたはコマンドラインを使用して、toplink-grid-1.0.jarをデプロイします。次に示すのはサンプル・コマンド・ラインです。

    java weblogic.Deployer -username <> -password <> -adminurl <> -deploy toplink-grid-1.0.jar -name toplink-grid -library -targets <>
    
  3. toplink-grid-1.0.jarをオプション・パッケージとして、Coherenceを使用する各モジュールのmanifest.mfファイルにインポートします。代替方法として、アプリケーションWARのWEB-INF/libディレクトリのそれぞれに対してファイルをコピーできます。

    例4-3は、サンプル・マニフェスト・ファイルを示します。

    例4-3 coherence、active-cache、およびtoplink-gridを使用するマニフェスト・ファイル

    Manifest-Version: 1.0
    Extension-List: coherence active-cache toplink-grid
    coherence-Extension-Name: coherence
    active-cache-Extension-Name: active-cache
    toplink-grid-Extension-Name: toplink-grid