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は、サンプル・マニフェスト・ファイルを示します。