ヘッダーをスキップ
Oracle® Fusion Middleware Oracle TopLinkのためのCoherence Grid統合ガイド
11g リリース1(11.1.1)
B61395-02
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

4 ベスト・プラクティス

この章では、TopLink Gridをバイト・コード・ウィービングおよび遅延ロードとともに使用する方法の推奨事項を示します。

4.1 バイト・コード・ウィービングでのコンパイル済Javaクラスの変更

バイトコードウィービングは、コンパイル済Javaクラスのバイト・コードを変更する手法です。バイト・コード・ウィービングを構成して、1対1および多対1関係の遅延ロードのサポート、属性レベルの変更追跡、フェッチ・グループなど、いくつかのEclipseLink JPAパフォーマンス最適化を有効にできます。

ウィービングは、エンティティ・クラスのロード時に動的に実行するか、ビルド・プロセスの一部として静的に実行できます。静的バイト・コード・ウィービングは、EclipseLinkで提供されるweaverタスクを使用してAntビルドに組み込むことができます。

動的バイト・コード・ウィービングは、Oracle WebLogicなどのJava EE 5対応アプリケーション・サーバーで自動的に有効になります。ただし、Java SEでは、JRE 1.5 javaagent JVMコマンドライン引数を使用して明示的に有効にする必要があります。JRE 1.5.の動的バイト・コード・ウィービングの詳細は、次のURLでEclipseLinkエージェントを使用してJPAエンティティの動的ウィービングを構成する方法に関する項を参照してください。

http://wiki.eclipse.org/Using_EclipseLink_JPA_Extensions_(ELUG)#How_to_Configure_Dynamic_Weaving_for_JPA_Entities_Using_the_EclipseLink_Agent

Coherenceキャッシュ・サーバーでバイト・コード・ウィービングを有効にするには、-javaagent:<PATH>\eclipselink.jarでJava VMを起動する必要があります。Java SEクライアント・アプリケーションは、-javaagent引数を指定して実行する必要があります。

静的および動的バイト・コード・ウィービングの構成と無効化の詳細は、EclipsepediaEclipseLink JPAウィービングの使用に関する項を参照してください。

http://wiki.eclipse.org/Using_EclipseLink_JPA_Extensions_(ELUG)#Using_EclipseLink_JPA_Weaving

4.2 遅延ロードでのデータベース問合せの遅延

遅延ロードは、必要になるまでデータベースへのオブジェクトの問合せを遅延するために使用する手法です。これにより、アプリケーションによってロードされるデータ量を削減し、スループットを向上できます。TopLink Grid JPAまたはネイティブORMアプリケーションでは、すべての関係を遅延ロードする必要があります。JPAの1対多および多対多関係では遅延ロードがデフォルトですが、1対1および多対1関係では即時です。これらの関係タイプでは、遅延ロードを明示的に選択する必要があります。たとえば、関係注釈の多くでは遅延ロードを属性として指定できます。

...
@ManyToOne(fetch=FetchType.LAZY)
private Publisher parent
 ...

効率を最大化するために、TopLink GridがCoherenceキャッシュに格納するすべての1対1および多対1エンティティ関係に遅延ロードを指定する必要があります。遅延ロードは、EclipseLinkのバイト・コード・ウィービングを通じて実装され、Java EE 5準拠アプリケーション・サーバーで実行されていない場合は明示的に有効にする必要があります。詳細は、「バイト・コード・ウィービングでのコンパイル済Javaクラスの変更」を参照してください。