TopLink Gridは、Java Persistence API (JPA)を使用するアプリケーション開発の標準化と簡略化を、OracleのCoherence Data Gridの拡張性と処理能力に結合します。開発者はJPAにかけた投資を活用し、Coherenceの拡張性を利用できます。標準JPAアプリケーションは、ActiveCacheではなく主要データ・ストア(通常はリレーショナル・データベース)と直接相互通信を行うため、TopLink Grid開発者はCoherenceデータ・グリッド内のドメイン・モデルの一部または全部を保存するよう選択できます。
Coherence環境に対するTopLink Gridの構成の詳細は、『Oracle TopLinkのためのCoherence Grid統合ガイド』を参照してください。
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クラスタ・スコープの構成」に記載されているとおり、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を追加する方法について説明します。
TopLink Gridを使用してCoherenceキャッシュにJPAエンティティを保存する場合、次の手順を実行します。
「アプリケーション・サーバー・スコープのCoherenceクラスタの構成」の手順に従い、coherence.jarとactive-cache.jarをシステム・クラスパスにインクルードします。
WebLogic Serverシステム・クラスパスを編集して、toplink-grid-1.0.jarをシステム・クラスパスに含めます。
TopLink Gridを使用してCoherenceキャッシュにJPAエンティティを保存する場合、次の手順を実行します。
「EARスコープのCoherenceクラスタの構成」の手順に従い、coherence.jarおよびactive-cache.jarファイルを共有ライブラリとしてデプロイします。
次のいずれかの方法を使用して、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フォルダにコピーします。ただし、共有ライブラリとしてデプロイする方法が優先されます。
TopLink Gridを使用してCoherenceキャッシュにJPAエンティティを保存する場合、次の手順を実行します。
「WARスコープのCoherenceクラスタの構成」の手順に従い、coherence.jarおよびactive-cache.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をオプション・パッケージとして、Coherenceを使用する各モジュールのmanifest.mfファイルにインポートします。代替方法として、アプリケーションWARのWEB-INF/libディレクトリのそれぞれに対してファイルをコピーできます。
例4-3は、サンプル・マニフェスト・ファイルを示します。