ヘッダーをスキップ
Oracle Fusion Middleware Oracle TopLink開発者ガイド
11gリリース1(11.1.1)
B56246-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

89 セッションの構成

この章では、TopLinkセッションを構成する方法について説明します。

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

表89-1は、構成可能なTopLinkセッション・タイプと、そのタイプで対応している構成可能オプションが記載されたタイプ別の章への相互参照を示します。

表89-1 TopLinkセッションの構成

作成対象 参照先

サーバーおよびクライアント・セッション(87.3項「サーバーおよびクライアントのセッション」を参照)

第91章「サーバー・セッションの構成」


作業ユニット・セッション(87.4項「作業ユニット・セッション」を参照)

第113章「TopLinkトランザクションの概要」


独立クライアント・セッション(87.5項「独立クライアント・セッション」を参照)

第92章「Virtual Private Database用の排他独立クライアント・セッションの構成」


履歴セッション(87.6項「履歴セッション」を参照)

第93章「履歴セッションの構成」


セッション・ブローカおよびクライアント・セッション(87.7項「セッション・ブローカおよびクライアント・セッション」を参照)

第94章「セッション・ブローカおよびクライアント・セッションの構成」


データベース・セッション(87.8項「データベース・セッション」を参照)

第95章「データベース・セッションの構成」



表89-2は、2つ以上のTopLinkセッション・タイプで共通に使用される構成可能オプションを示します。

詳細は、次を参照してください。

89.1 共通セッション・オプションの構成

表89-2は、2つ以上のTopLinkセッション・タイプで共通に使用される構成可能オプションを示します。ここで説明する構成可能オプション以外にも、表89-1に示すように、特定のセッション・タイプについて説明しているオプションも構成する必要があります。

表89-2 セッションの構成可能オプション

構成オプション Oracle JDeveloper
TopLink Workbench Java

プライマリ・マッピング・プロジェクト(89.2項「プライマリ・マッピング・プロジェクトの構成」を参照)

サポートされている
サポートされている
サポートされている

セッション・ログイン(89.3項「セッション・ログインの構成」を参照)

サポートされている
サポートされている
サポートされている

ロギング(89.4項「ロギングの構成」を参照)

サポートされている
サポートされている
サポートされている

複数マッピング・プロジェクト(89.5項「複数マッピング・プロジェクトの構成」を参照)

サポートされている
サポートされている
サポートされている

パフォーマンス・プロファイラ(89.6項「パフォーマンス・プロファイラの構成」を参照)

サポートされている
サポートされている
サポートされている

例外ハンドラ(89.7項「例外ハンドラの構成」を参照)

サポートされている
サポートされている
サポートされている

セッション・カスタマイザ・クラス(89.8項「セッション・カスタマイザ・クラスの構成」を参照)

サポートされている
サポートされている
サポートされている

サーバー・プラットフォーム(89.9項「サーバー・プラットフォームの構成」を参照)

サポートされている
サポートされている
サポートされている

セッション・イベント・リスナー(89.10項「セッション・イベント・リスナーの構成」を参照)

サポートされている
サポートされている
サポートされている

コーディネート・キャッシュ(第103章「コーディネート・キャッシュの構成」を参照)

サポートされている
サポートされている
サポートされている

整合性チェッカ(89.11項「整合性チェッカの構成」を参照)

サポートされていない
サポートされていない
サポートされている

接続ポリシー(89.12項「接続ポリシーの構成」を参照)

サポートされている
サポートされている
サポートされている

名前付き問合せ(89.13項「セッション・レベルでの名前付き問合せの構成」を参照)

サポートされていない
サポートされていない
サポートされている

89.2プライマリ・マッピング・プロジェクトの構成

マッピング・プロジェクトには、ディスクリプタやマッピングなど、TopLinkのマッピング・メタデータを格納します(第15章「プロジェクトの概要」を参照)。セッションがディスクリプタを登録できるように、各セッションは少なくとも1つのプロジェクトと関連付けられます。

表89-3では、どのセッションがプライマリ・マッピング・プロジェクトの構成をサポートしているかを示します。

表89-3 セッションでのプライマリ・マッピング・プロジェクトのサポート

セッション Oracle JDeveloperの使用方法 TopLink Workbenchを使用したプライマリ・マッピング・プロジェクトの構成方法
Javaを使用したプライマリ・マッピング・プロジェクトの構成方法

サーバーおよびクライアント・セッション(87.3項「サーバーおよびクライアントのセッション」を参照)

サポートされている


サポートされている


サポートされている


セッション・ブローカおよびクライアント・セッション(87.7項「セッション・ブローカおよびクライアント・セッション」を参照)

サポートされている


サポートされている


サポートされている


データベース・セッション(87.8項「データベース・セッション」を参照)

サポートされている


サポートされている


サポートされている



Oracle JDeveloper TopLinkエディタまたはTopLink Workbenchを使用すると、マッピング・メタデータを、デプロイXMLファイルまたはJavaクラスとしてエクスポートできます。このため、セッションには、マッピング・プロジェクトをXMLファイルまたはJavaクラスとして指定できます。

マッピング・メタデータをOracle JDeveloperからデプロイXMLファイルとしてエクスポートすることをお薦めします(116.3項「プロジェクト情報のエクスポート」を参照)。

マッピング・メタデータをJavaクラスとしてエクスポートした場合は、セッションに追加する前に、コンパイルしてセッション構成クラスパスに追加する必要があります(88.3項「セッション構成の構成」を参照)。


注意:

XMLを使用してマッピング・プロジェクトを指定する場合、Javaリソース・パスを指定できます。ほとんどのアプリケーションで、sessions.xmlファイルとproject.xmlファイルをJARファイル内にデプロイし、Javaリソース・パスとしてプロジェクトXMLパスを指定します。

Javaリソース・パスを指定する場合、ディレクトリにはバックスラッシュ(\)ではなくスラッシュ(/)を使用してください。たとえば、com/myapp/mypersistence/my-project.xmlMETA-INF/my-project.xmlのようになります。


セッションでの追加のTopLinkプロジェクトの構成の詳細は、89.5項「複数マッピング・プロジェクトの構成」を参照してください。

89.2.1 TopLink Workbenchを使用したプライマリ・マッピング・プロジェクトの構成方法

セッション用にTopLinkプライマリ・プロジェクトのメタデータを指定するには、次の手順を実行します。

  1. ナビゲータでサーバーまたはデータベース・セッションを選択します。そのプロパティがエディタに表示されます。

  2. 「一般」タブをクリックします。「一般」タブが表示されます。

  3. 「プロジェクト」サブタブをクリックします。「プロジェクト」サブタブが表示されます。

    図89-1 「一般」タブ、「プロジェクト」サブタブ、「プライマリ・プロジェクト」オプション

    図89-1の説明が続きます
    「図89-1 「一般」タブ、「プロジェクト」サブタブ、「プライマリ・プロジェクト」オプション」の説明

  4. 次のオプションを選択します。

    • 「編集」をクリックしてプライマリ・プロジェクトを定義します。「プライマリ・プロジェクトの編集」ダイアログ・ボックスが表示されます。

    • 「複数のプロジェクト」 オプションを選択すると、追加のプロジェクトをセッションに追加できます。詳細は、89.5項「複数マッピング・プロジェクトの構成」を参照してください。

    図89-2 「プライマリ・プロジェクトの編集」ダイアログ・ボックス

    図89-2の説明が続きます
    「図89-2 「プライマリ・プロジェクトの編集」ダイアログ・ボックス」の説明

次の情報を参照し、「プライマリ・プロジェクトの編集」ダイアログ・ボックスの各フィールドにデータを入力します。

フィールド 説明
XML 「XML」を選択すると、マッピング・プロジェクトをデプロイXMLファイルとして追加できます。「参照」をクリックしてファイルを選択します。
クラス 「クラス」を選択すると、マッピング・プロジェクトをコンパイル済のJavaクラス・ファイルとして追加できます。「参照」をクリックしてファイルを選択します。

89.2.2 Javaを使用したプライマリ・マッピング・プロジェクトの構成方法

Javaを使用すると、次のAPIを使用してディスクリプタをセッションに登録できます。

  • Project API: project.xmlファイルを読み取り(またはプロジェクト・クラスをインスタンス化し)、ProjectメソッドcreateServerSessionまたはcreateDatabaseSessionを使用してセッションを作成します。

  • Session API: 表89-4に示すDatabaseSession APIを使用して、ディスクリプタまたはディスクリプタのセットをセッションに追加します。ディスクリプタはログインする前に登録してください。ただし、プライマリでないプロジェクトのディスクリプタのセットはログイン後に追加できます。

表89-4 ディスクリプタ登録用のDatabaseSession API

セッション・メソッド 説明

addDescriptors(Project)

渡されたProjectによって所有されるディスクリプタがすべてセッションに追加されます。

addDescriptors(Vector)

渡されたVectorにあるディスクリプタがすべてセッションに追加されます。

addDescriptor(Descriptor)

セッションに個々のディスクリプタを追加します。


89.3 セッション・ログインの構成

セッション・ログインでは、データ・ソースに永続化するセッションのデータ・ソース・アクセスの詳細をカプセル化します。セッション・ログインにより、その他のログイン構成がオーバーライドされます。

表89-5では、どのセッションがセッション・ログインの構成をサポートしているかを示します。

表89-5 セッションでのセッション・ログインのサポート

セッション セッション・ログイン

サーバーおよびクライアントのセッション


サポートされている


セッション・ブローカおよびクライアント・セッション


サポートされている


データベース・セッション


サポートされている



セッション・ログインを使用すると、様々な機能を利用できます。次の機能があります。

詳細は、次を参照してください。

89.4ロギングの構成

TopLinkのロギング・フレームワークを使用して、ログ・ファイルまたはセッション・コンソールにTopLinkの動作を記録します。

表89-6では、どのセッションがロギング構成をサポートするかを示します。

表89-6 セッションでのロギングのサポート

セッション Oracle JDeveloperの使用方法 TopLink Workbenchを使用したロギングの構成方法
JavaでのセッションAPIを使用したロギングの構成方法
Java EEコンテナにおけるロギングの構成方法

サーバーおよびクライアント・セッション(87.3項「サーバーおよびクライアントのセッション」を参照)

サポートされている


サポートされている


サポートされている


サポートされている


作業ユニット・セッション(87.4項「作業ユニット・セッション」を参照)

サポートされている


サポートされている


サポートされている


サポートされている


セッション・ブローカおよびクライアント・セッション(87.7項「セッション・ブローカおよびクライアント・セッション」を参照)

サポートされている


サポートされている


サポートされている


サポートされていない

データベース・セッション(87.8項「データベース・セッション」を参照)

サポートされている


サポートされている


サポートされている


サポートされていない


注意:

セッションがセッション・ブローカに登録されている場合は、セッション自体にではなくセッション・ブローカにロギング情報を指定する必要があります。

デフォルトでは、TopLinkは独自のネイティブ・ロギングを使用します。あるいは、java.util.loggingパッケージを使用するようにTopLinkを構成できます(89.4.5項「java.util.loggingパッケージを使用するためのセッションの構成方法」を参照)。

詳細は、87.2.6項「ロギング」を参照してください。

89.4.1 TopLink Workbenchを使用したロギングの構成方法

セッションにロギング情報を指定するには、次の手順を実行します。

  1. ナビゲータでデータベース・セッションを選択します。そのプロパティがエディタに表示されます。

  2. 「ロギング」タブをクリックします。「ロギング」タブが表示されます。

    図89-3 「ロギング」タブ

    図89-3の説明が続きます
    「図89-3 「ロギング」タブ」の説明

次の情報を参照し、「ロギング」タブの各フィールドにデータを入力して、このセッションで使用するプロファイラ・オプションを選択します。

オプション 説明
ロギングなし このオプションを選択すると、このセッションでは何も記録されません。
サーバー このオプションを選択すると、このアプリケーションがデプロイされているアプリケーション・サーバーのロギング機能が使用されます。
Java このオプションを選択すると、java.util.loggingパッケージが使用されます。
標準 このオプションを選択すると、TopLinkのロギング・フレームワークが使用されます。

選択すると、任意で次のオプションを構成することもできます。

    ロギング・レベル (情報の昇順で)記録するロギング情報の量を定義します。
  • CONFIG: ログイン、JDBC接続およびデータベース情報のみを記録します。

  • INFO(デフォルト): サーバー・セッションごとのログイン/ログアウトをユーザー名付きで記録します。セッションを取得すると、詳細情報が記録されます。

  • WARNING: SEVEREレベルで記録されないすべての例外など、TopLinkを強制的に停止しない例外を記録します。これにはスタック・トレースは含まれません。

  • SEVERE: TopLinkで継続できないことを示す例外およびログイン時に生成された例外を記録します。これにはスタック・トレースが含まれます。

  • FINE: SQL(スレッド情報を含む)を記録します。

  • FINER: 警告と同じです。ただし、スタック・トレースが含まれます。

  • FINEST: その他の低レベル情報が含まれます。

  • ALL: すべてを記録します。

    コンソール このオプションを選択すると、ロギング情報が標準コンソール出力に表示されます。
    ファイル このオプションを選択すると、ロギング情報がファイルに記録されます。「参照」をクリックしてログ・ファイルの名前と場所を指定します。
オプション このオプションを選択すると、「Java」または「標準」ロギングを選択した場合の、これ以外のロギング・オプションのデフォルトをオーバーライドします。
    例外のログのスタック・トレース このオプションを選択すると、スタック・トレースが含まれ、すべての例外がログに書き込まれます。

デフォルト: SEVEREメッセージの場合に、スタック・トレースが記録されます。WARNINGメッセージの場合は、ロギング・レベルがFINER以下のときにのみスタック・トレースが記録されます。

    接続を出力 このオプションを選択すると、接続識別子が接続関連ログ・メッセージに記録されます。

デフォルト: すべてのメッセージ・レベルとログ・レベルで有効化されます。

    日付を出力 このオプションを選択すると、ログ・メッセージが生成された日付と時刻も記録されます。

デフォルト: すべてのメッセージ・レベルとログ・レベルで有効化されます。

    セッションを出力 このオプションを選択すると、セッション名がセッション関連ログ・メッセージに記録されます。

デフォルト: すべてのメッセージ・レベルとログ・レベルで有効化されます。

    スレッドを出力 このオプションを選択すると、スレッド名がスレッド関連ログ・メッセージに記録されます。

デフォルト: FINER以下のロギング・レベルでのみ記録します。


89.4.2 JavaでのセッションAPIを使用したロギングの構成方法

TopLinkネイティブ・ロギング(デフォルト)を使用した場合は、実行時にoracle.toplink.sessions.SessionロギングAPIを使用してロギング・オプションを構成できます。

Sessionインタフェースは、次のロギング・メソッドを定義します。

  • setSessionLog: 使用するロギング・タイプを指定します(oracle.toplink.logging.SessionLogの任意のインプリメンタ)。

  • dontLogMessages: ロギングを無効にします。

  • setLog: セッションがメッセージを書き込むjava.io.Writerを指定します。

  • setLogLevel: セッションがoracle.toplink.logging.SessionLog定数を使用して行うロギングのレベルを指定します。

    • OFF

    • SEVERE

    • WARNING

    • INFO

    • CONFIG

    • FINE

    • FINER

    • FINEST

    • ALL

例89-1は、java.util.loggingパッケージを使用するようにセッションを構成する方法を示します。

例89-1 java.util.loggingを使用するためのセッションの構成

session.setSessionLog(new JavaLog());

例89-2は、OC4Jが用意しているサーバー・ログを使用するようにセッションを構成する方法を示します。サーバー・ロギングの詳細は、87.2.6.1.3項「サーバー・ロギング」を参照してください。

例89-2 アプリケーション・サーバー・ロギングを使用するためのセッションの構成

session.setSessionLog(new OjdlLog());

例89-3は、java.io.Writerにログを書き込むようにセッションを構成する方法を示します。

例89-3 java.io.Writerを記録先にするためのセッションの構成

session.setLog(myWriter);

89.4.3 Oracle Enterprise Managerを使用したロギングの構成方法

EclipseLink JPAアプリケーションまたはTopLink CMPアプリケーションをOracle Application Serverにデプロイする場合は、Oracle Enterprise Managerを使用してTopLinkロギングを構成できます。

詳細は、次を参照してください。

89.4.4 Java EEコンテナにおけるロギングの構成方法

アプリケーション・サーバーにデプロイされたTopLink対応CMPアプリケーションの場合は、セッションを直接構成する必要はありません。この場合は、次のいずれかの値にシステム・プロパティtoplink.log.destinationを構成することでロギング・タイプを指定します。

  • 完全修飾されたファイルの指定(C:\logs\toplink.logなど): TopLinkネイティブ・ロギングを使用して、指定されたファイルにログ・メッセージが書き込まれます。

  • JAVA: java.util.loggingパッケージを使用して、ログ・メッセージが<JRE_HOME>/lib/logging.propertiesファイルに構成した任意の宛先に書き込まれます。

  • SERVER: サーバー・ロギングを使用して、ログ・メッセージがアプリケーション・サーバーのログ・ファイルに書き込まれます(この場合、これとは別にTopLinkログ・ファイルが存在することはありません)。

  • SYSOUT: ログ・メッセージがSystem.outに書き込まれます。

TopLinkの標準(デフォルト)ロギングのログ・レベルは、toplink.log.levelシステム・プロパティを通じて設定できます。

その他のロギング・オプションを構成するには、customization-classを使用します(9.9.1.1項「pm-propertiesの構成」を参照)。

89.4.5 java.util.loggingパッケージを使用するためのセッションの構成方法

java.util.loggingパッケージを使用する場合は、<JRE_HOME>/lib/logging.propertiesファイルでロギング・オプションを構成します。メッセージは、この構成ファイルに基づいて0(ゼロ)の宛先や複数の宛先に書き込まれます。

java.util.loggingパッケージを使用するようにセッションを構成する場合は、次に留意してください。

89.4.5.1 logging.properties

例89-4のようにlogging.propertiesファイルを構成します。

例89-4 logging.propertiesでのjava.util.loggingの構成

handlers = java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level = CONFIG
java.util.logging.ConsoleHandler.formatter = oracle.toplink.logging.TopLinkSimpleFormatter
oracle.toplink.LoggingSession.connection.level = CONFIG

使用可能なフォーマッタのタイプについては、89.4.6.2項「フォーマッタ」を参照してください。

89.4.5.2 フォーマッタ

TopLinkでは、TopLinkSimpleFormatterTopLinkXMLFormatterの2つのフォーマッタを用意しています。この2つは、対応するjava.util.loggingフォーマッタをオーバーライドし、セッション情報や接続情報があれば必ずそれらを記録します。また、ロギング・レベルで指定されたレベルでスレッドと例外スタック・トレース情報を記録します。

89.4.5.3 ネームスペース

java.util.loggingでは、ネームスペースがサポートされています。表89-7は、TopLinkコンポーネント用にoracle.toplink.sessions.SessionLogで定義されている静的定数と、logging.properties内の対応する文字列を示します。

表89-7 ロギング・プロパティのファイル名

SessionLog logging.properties

適用なし

oracle.toplink

適用なし

oracle.toplink.<sessionname>

SQL

oracle.toplink.<sessionname>.sql

TRANSACTION

oracle.toplink.<sessionname>.transaction

EVENT

oracle.toplink.<sessionname>.event

CONNECTION

oracle.toplink.<sessionname>.connection

QUERY

oracle.toplink.<sessionname>.query

CACHE

oracle.toplink.<sessionname>.cache

PROPAGATION

oracle.toplink.<sessionname>.propagation

SEQUENCING

oracle.toplink.<sessionname>.sequencing

EJB

oracle.toplink.<sessionname>.ejb

DMS

oracle.toplink.<sessionname>.dms

EJB_OR_METADATA

oracle.toplink.<sessionname>.ejb_or_metadata

WEAVER

oracle.toplink.<sessionname>.weaver

PROPERTIES

oracle.toplink.<sessionname>.properties

SERVER

oracle.toplink.<sessionname>.server


表89-7にリストしたlogging.properties名において、<sessionname>はアプリケーションが稼働するセッションの名前です。たとえば、セッションの名前がMyApplicationである場合は、SQLロギング・プロパティにはoracle.toplink.MyApplication.sqlを使用します。

また、アプリケーションは、独自のネームスペースを定義し、そのネームスペースへのロギングAPIをロギング構成に定義することで、そのネームスペースにロギングAPIで書き込むこともできます。ロギングAPIがロギング構成に定義されていない場合は、メッセージは親のロギングAPI oracle.toplink.<sessionname>に書き込まれます。

89.5 複数マッピング・プロジェクトの構成

各セッションは少なくとも1つのマッピング・プロジェクトに関連付けられています(89.2項「プライマリ・マッピング・プロジェクトの構成」を参照)。セッションに追加のTopLinkマッピング・プロジェクトを関連付けることができます。

表89-8では、どのセッションが追加のマッピング・プロジェクトの構成をサポートしているかを示します。

表89-8 セッションでの追加マッピング・プロジェクトのサポート

セッション Oracle JDeveloperの使用方法 TopLink Workbenchを使用した複数マッピング・プロジェクトの構成方法
Javaを使用した複数マッピング・プロジェクトの構成方法

サーバーおよびクライアント・セッション(87.3項「サーバーおよびクライアントのセッション」を参照)


サポートされている


サポートされている


セッション・ブローカ・セッションおよびクライアント・セッション(第87章の「セッション・ブローカおよびクライアント・セッション」を参照)


サポートされている


サポートされている


データベース・セッション(87.8項「データベース・セッション」を参照)


サポートされている


サポートされている



89.5.1 TopLink Workbenchを使用した複数マッピング・プロジェクトの構成方法

セッション用に追加のTopLinkプロジェクトを指定するには、次の手順を実行します。

  1. ナビゲータでサーバーまたはデータベース・セッションを選択します。そのプロパティがエディタに表示されます。

  2. 「一般」タブをクリックします。「一般」タブが表示されます。

  3. 「プロジェクト」サブタブをクリックします。「プロジェクト」サブタブが表示されます。

    図89-4 「一般」タブ、「プロジェクト」サブタブ、「複数のプロジェクト」のオプション

    図89-4の説明が続きます
    「図89-4 「一般」タブ、「プロジェクト」サブタブ、「複数のプロジェクト」のオプション」の説明

  4. 「複数のプロジェクト」オプションを選択します。「複数のプロジェクト」サブタブが表示されます。

  5. 「複数のプロジェクト」サブタブをクリックします。

  6. 図89-5 「一般」タブ、「複数のプロジェクト」サブタブ

    図89-5の説明が続きます
    「図89-5 「一般」タブ、「複数のプロジェクト」サブタブ」の説明

このセッションに追加のマッピング・プロジェクトを追加するには、「追加」をクリックします。詳細は、89.2項「プライマリ・マッピング・プロジェクトの構成」を参照してください。

TopLinkのマッピング・プロジェクトを削除するには、プロジェクト・ファイルを選択して「削除」をクリックします。

89.5.2 Javaを使用した複数マッピング・プロジェクトの構成方法

Javaを使用する場合は、表89-9に示すDatabaseSession APIを使用して、セッションに複数のプロジェクトのディスクリプタを登録できます。ディスクリプタはログイン前に登録できますが、プライマリでないプロジェクトのディスクリプタのセットはログイン後に追加できます。

表89-9 ディスクリプタ登録用のDatabaseSession API

セッション・メソッド 説明

addDescriptors(Project)

プロジェクトの形式でディスクリプタをセッションに追加します。

addDescriptors(Vector)

プロジェクトの形式で個別のディスクリプタ・ファイルのVectorをセッションに追加します。

addDescriptor(Descriptor)

セッションに個々のディスクリプタを追加します。


89.6 パフォーマンス・プロファイラの構成

TopLinkアプリケーションのパフォーマンス向上を期すには、最適化の前と後にパフォーマンスを測定する必要があります。TopLinkでは、様々な組込みのパフォーマンス測定機能(プロファイラとも呼ぶ)を備えており、これらはセッション・レベルで構成できます。

表89-10では、どのセッションがパフォーマンス・プロファイラの構成をサポートしているかを示します。

表89-10 セッションでのパフォーマンス・プロファイラ構成のサポート

セッション Oracle JDeveloperの使用方法 TopLink Workbenchを使用したパフォーマンス・プロファイラの構成方法
Javaを使用したパフォーマンス・プロファイラの構成方法

サーバーおよびクライアント・セッション(87.3項「サーバーおよびクライアントのセッション」を参照)

サポートされている


サポートされている


サポートされている


セッション・ブローカおよびクライアント・セッション(87.7項「セッション・ブローカおよびクライアント・セッション」を参照)

サポートされている


サポートされている


サポートされている


データベース・セッション(87.8項「データベース・セッション」を参照)

サポートされている


サポートされている


サポートされている



TopLinkには、次のプロファイラが用意されています。

89.6.1 TopLink Workbenchを使用したパフォーマンス・プロファイラの構成方法

セッションにプロファイラのタイプを指定するには、次の手順を実行します。

  1. ナビゲータでセッションを選択します。そのプロパティがエディタに表示されます。

  2. 「オプション」タブをクリックします。「オプション」タブが表示されます。

    図89-6 「オプション」タブ、「プロファイラ」のオプション

    図89-6の説明が続きます
    「図89-6 「オプション」タブ、「プロファイラ」のオプション」の説明

次の情報を参照し、このセッションで使用するプロファイラのオプションを選択します。

オプション 説明
プロファイラなし すべてのプロファイリングを無効にします。
DMS Oracle Dynamic Monitoring System(DMS)によるプロファイリングを有効にします。詳細は、次を参照してください。
標準(TopLink) TopLinkによるプロファイリングを有効にします。詳細は、次を参照してください。

89.6.2 Javaを使用したパフォーマンス・プロファイラの構成方法

Javaを使用して、SessionメソッドsetProfilerを使用したプロファイラにより、セッションを構成できます(例89-5を参照)。

例89-5 TopLinkプロファイラを使用したセッションの構成

session.setProfiler(new PerformanceProfiler());

プロファイリング・セッションを終了するには、SessionメソッドclearProfilerを使用します。

89.7 例外ハンドラの構成

各セッションに1つの例外処理クラスを関連付けできます。このクラスは、oracle.toplink.exceptions.ExceptionHandlerインタフェースを実装する必要があります。

表89-11では、どのセッションが例外ハンドラの構成をサポートしているかを示します。

表89-11 セッションでの例外ハンドラ構成のサポート

セッション Oracle JDeveloperの使用方法 TopLink Workbenchを使用した例外ハンドラの構成方法
Javaを使用した例外ハンドラの構成方法

サーバーおよびクライアント・セッション(87.3項「サーバーおよびクライアントのセッション」を参照)

サポートされている


サポートされている


サポートされている


セッション・ブローカおよびクライアント・セッション(87.7項「セッション・ブローカおよびクライアント・セッション」を参照)

サポートされている


サポートされている


サポートされている


データベース・セッション(87.8項「データベース・セッション」を参照)

サポートされている


サポートされている


サポートされている



例外ハンドラ実装の例については、89.7.2項「Javaを使用した例外ハンドラの構成方法」を参照してください。

詳細は、87.2.9項「例外ハンドラ」を参照してください。

89.7.1 TopLink Workbenchを使用した例外ハンドラの構成方法

セッションに例外ハンドラ・クラスを指定するには、次の手順を実行します。

  1. ナビゲータでセッションを選択します。そのプロパティがエディタに表示されます。

  2. 「オプション」タブをクリックします。「オプション」タブが表示されます。

    図89-7 「オプション」タブ、「例外ハンドラ」フィールド

    図89-7の説明が続きます
    「図89-7 「オプション」タブ、「例外ハンドラ」フィールド」の説明

  3. 「例外ハンドラ」フィールドを指定します。

「参照」をクリックし、このセッションに対して例外ハンドラ・クラスを選択します。

89.7.2 Javaを使用した例外ハンドラの構成方法

例89-6は、例外ハンドラの実装例を示します。この実装では、例外ハンドラは、接続がピアによってリセットされた場合は必ず接続を再確立しようとしますが、問合せがReadQueryのインスタンスである場合はその問合せを再試行するのみです。この例外ハンドラは、再実行されたReadQueryの結果を返すか、例外をスローします。

例89-6 例外ハンドラの実装

session.setExceptionHandler(
  new ExceptionHandler() {
    public Object handleException(RuntimeException exception) {
      if (exception instanceof DatabaseException) {
        DatabaseException dbex = (DatabaseException) exception;
        if ((dbex.getInternalException() instanceof SQLException) &&
           (((SQLException) dbex.getInternalException()).getErrorCode() == MyDriver.CONNECTION_RESET_BY_PEER)) {
           dbex.getAccessor().reestablishConnection(dbex.getSession());
           if (dbex.getQuery() instanceof ReadQuery) {
             return dbex.getSession().executeQuery(dbex.getQuery(), dbex.getQuery().getTranslationRow());
           }
           throw exception;
        }
      }
      throw exception;
    }
  }
);

注意:

未処理例外は、例外ハンドラ・コードにより新たにスローする必要があります。

89.8 セッション・カスタマイザ・クラスの構成

セッション・カスタマイザ・クラスはJavaクラスで、oracle.toplink.tools.sessionconfiguration.SessionCustomizerインタフェースを実装し、デフォルト(ゼロ引数)コンストラクタを備えています。セッション・カスタマイザを使用すると、ログインが行われる前にロード済だったセッションに基づいて、別のセッションを実行時にカスタマイズできます。その方法は修正メソッドを使用してディスクリプタをカスタマイズする方法と似ています(119.35項「修正メソッドの構成」を参照)。たとえば、セッション・カスタマイザ・クラスを使用すると、セッション・イベント・リスナーを定義してセッション・イベント・マネージャに登録できます(89.10項「セッション・イベント・リスナーの構成」を参照)。

表89-12では、どのセッションがカスタマイザ・クラスの構成をサポートしているかを示します。

表89-12 セッションでのカスタマイザ・クラス構成のサポート

セッション Oracle JDeveloperの使用方法 TopLink Workbenchを使用したカスタマイザ・クラスの構成方法
Javaの使用方法

サーバーおよびクライアント・セッション(87.3項「サーバーおよびクライアントのセッション」を参照)

サポートされている


サポートされている


サポートされている


セッション・ブローカおよびクライアント・セッション(87.7項「セッション・ブローカおよびクライアント・セッション」を参照)

サポートされている


サポートされている


サポートされている


データベース・セッション(87.8項「データベース・セッション」を参照)

サポートされている


サポートされている


サポートされている



詳細は、87.2.3項「セッションのカスタマイズ」を参照してください。

89.8.1 TopLink Workbenchを使用したカスタマイザ・クラスの構成方法

セッションにセッション・カスタマイザ・クラスを指定するには、次の手順を実行します。

  1. ナビゲータでセッションを選択します。そのプロパティがエディタに表示されます。

  2. 「オプション」タブをクリックします。「オプション」タブが表示されます。

    図89-8 「オプション」タブ、「セッション・カスタマイザ・クラス」フィールド

    図89-8の説明が続きます
    「図89-8 「オプション」タブ、「セッション・カスタマイザ・クラス」フィールド」の説明

「参照」をクリックし、このセッションに対してカスタマイザ・クラスを選択します。

89.8.2 Javaを使用したカスタマイザ・クラスの構成方法

Javaを使用する場合は、oracle.toplink.tools.sessionconfiguration.SessionCustomizerインタフェースを実装するカスタマイザ・クラスを作成します。例89-7は、セッション・カスタマイザの作成を示します。customizeメソッドには、Sessionが所有するLoginの構成と、適切なトランザクション分離が含まれます。

例89-7 SessionCustomizerクラスの作成

import oracle.toplink.tools.sessionconfiguration.SessionCustomizer;
import oracle.toplink.sessions.Session;
import oracle.toplink.sessions.DatabaseLogin;

public class EmployeeSessionCustomizer implements SessionCustomizer {

    public void customize(Sesssion session) {
        DatabaseLogin login = (DatabaseLogin)session.getDatasourceLogin();
        login.setTransactionIsolation(DatabaseLogin.TRANSACTION_READ_UNCOMMITTED);
    }
}

89.9 サーバー・プラットフォームの構成

TopLinkサーバー・プラットフォームでは、セッションとJava EEサーバーをどのように統合するか、その方法を定義します。方法には次のものがあります。

表89-13では、どのセッションがサーバー・プラットフォームをサポートしているかを示します。

表89-13 セッションでのサーバー・プラットフォームのサポート

セッション Oracle JDeveloperの使用方法 TopLink Workbenchを使用したサーバー・プラットフォームの構成方法
Javaを使用したサーバー・プラットフォームの構成方法

サーバーおよびクライアント・セッション(87.3項「サーバーおよびクライアントのセッション」を参照)

サポートされている


サポートされている


サポートされている


セッション・ブローカおよびクライアント・セッション(87.7項「セッション・ブローカおよびクライアント・セッション」を参照)

サポートされている


サポートされている


サポートされている


データベース・セッション(87.8項「データベース・セッション」を参照)

サポートされている


サポートされている


サポートされている



セッションと関連付けたプライマリ・マッピング・プロジェクトに、永続性タイプとしてBean管理の永続性(BMP)またはJavaオブジェクトのいずれかのデータがある場合は、Oracle JDeveloperまたはTopLink Workbenchを使用してサーバー・プラットフォームを構成できます。プライマリ・マッピング・プロジェクトの詳細は、89.2項「プライマリ・マッピング・プロジェクトの構成」を参照してください。

セッションと関連付けたプライマリ・マッピング・プロジェクトに、コンテナ管理の永続性(CMP)の永続性タイプを持つデータがある場合、TopLinkランタイムでは、デフォルトで、デプロイ先のアプリケーション・サーバーに対応するように自動的にサーバー・プラットフォームが構成されます。

89.9.1 TopLink Workbenchを使用したサーバー・プラットフォームの構成方法

セッションにサーバー・プラットフォームのオプションを指定するには、次の手順を実行します。

  1. ナビゲータでセッションを選択します。そのプロパティがエディタに表示されます。

  2. 「一般」タブをクリックします。「一般」タブが表示されます。

  3. 「サーバー・プラットフォーム」サブタブをクリックします。「サーバー・プラットフォーム」サブタブが表示されます。

    図89-9 「一般」タブ、「サーバー・プラットフォーム」サブタブ

    図89-9の説明が続きます
    「図89-9 「一般」タブ、「サーバー・プラットフォーム」サブタブ」の説明

次の情報を参照し、「サーバー・プラットフォーム」サブタブの各フィールドにデータを入力します。

フィールド 説明
サーバー・プラットフォーム アプリケーションをJava EEアプリケーション・サーバーにデプロイする場合、このフィールドを選択します。

このフィールドを選択した場合、「プラットフォーム」を選択してターゲット・アプリケーション・サーバーを構成する必要があります。

プラットフォーム アプリケーションのデプロイ先となるJava EEアプリケーション・サーバーを選択します。

TopLinkでは、次のJava EEアプリケーション・サーバーがサポートされます。

  • WebLogic 10.n

  • WebLogic 9.n

  • OC4J 11.1.1

  • OC4J 10.1.3.n

  • SunAS 9

  • WebSphere 6.1

  • カスタム

サポートされるアプリケーション・サーバーのバージョン、構成要件の詳細は、第8章「TopLinkとアプリケーション・サーバーの統合」を参照してください。

独自のoracle.toplink.platform.server.ServerPlatformクラスを作成して、現在TopLinkでサポートされていないアプリケーション・サーバーを使用したり既存のServerPlatformをオーバーライドする場合は、「カスタム」を選択します。「カスタム」を選択した場合は、「サーバー・プラットフォーム・クラス」を選択してカスタムServerPlatformクラスを指定する必要があります。

選択されたサーバー・プラットフォームは、セッション構成レベルで設定されたデフォルトのサーバー・プラットフォームをオーバーライドします(88.2項「セッション構成の作成」を参照)。

ランタイム・サービスを有効にする このフィールドを選択すると、TopLinkセッションの監視を可能にするJMX-MBeanのデプロイを有効にするようにTopLinkランタイムが構成されます。

この機能を使用するには、DMSデータ収集を有効にする必要があります。詳細は、12.4.1項「Oracle DMSプロファイラの構成方法」を参照してください。

外部トランザクション・コントローラを有効にする(JTA) アプリケーションと外部トランザクション・コントローラを統合するには、このフィールドを選択します。詳細は、113.1.2項「作業ユニット・トランザクション境界」を参照してください。

TopLinkでサポートされているJava EEアプリケーション・サーバーを「プラットフォーム」に構成した場合は、必要な外部トランザクション・コントローラ・クラスが自動的に選択されます。

「プラットフォーム」「カスタム」に構成した場合は、「外部トランザクション・コントローラを有効にする(JTA)」を選択してトランザクション・コントローラ・クラスを指定する必要があります。

サーバー・プラットフォーム・クラス このオプションは、「プラットフォーム」「カスタム」に構成した場合にのみ使用可能になります。

カスタムServerPlatformクラスを選択する場合は、「参照」をクリックします。

トランザクション・コントローラ・クラス(JTA) このオプションは、「プラットフォーム」「カスタム」に構成した場合にのみ使用可能になります。

「外部トランザクション・コントローラを有効にする(JTA)」を選択した場合は、「参照」をクリックして、カスタムServerPlatformクラスに対応するトランザクション・コントローラ・クラスを選択してください。


89.9.2 Javaを使用したサーバー・プラットフォームの構成方法

Javaを使用する場合は、セッションをサーバー・プラットフォーム・コンストラクタに渡す必要があります。例89-8は、セッション・カスタマイザを使用して、oracle.toplink.platform.serverパッケージに含まれるサーバー・プラットフォームでセッションを構成する例を示します(13.4項「セッション・カスタマイザ・クラスの使用」を参照)。

例89-8 サーバー・プラットフォームでのセッションの構成

import oracle.toplink.tools.sessionconfiguration.SessionCustomizer;
...
public class MySessionCustomizer implements SessionCustomizer {
   public void customize (Session session) {
      Server server = (Server)session;
      server.setServerPlatform(new WebLogic_10_Platform(DatabaseSession)server)):
   }
}

89.10 セッション・イベント・リスナーの構成

セッションで永続性操作を実行すると、セッションでは様々なイベントが生成されます(87.2.5.1項「セッション・イベント・マネージャのイベント」を参照)。TopLinkランタイムではその各種コンポーネント間の調整を行うため、これらのイベントを使用します。1つ以上のセッション・イベント・リスナー(87.2.5.2項「セッション・イベント・リスナー」を参照)でセッションを構成することで、セッションの動作をカスタマイズしたりセッションの操作をデバッグできます。たとえば、セッション・イベント・リスナーは、独立セッションの構成で重要な役割を果します(第92章「Virtual Private Database用の排他独立クライアント・セッションの構成」を参照)。

表89-14では、どのセッションがイベント・リスナーをサポートしているかを示します。

表89-14 セッションでのイベント・リスナーのサポート

セッション Oracle JDeveloperの使用方法 TopLink Workbenchを使用したセッション・イベント・リスナーの構成方法
Javaを使用したセッション・イベント・リスナーの構成方法

サーバーおよびクライアント・セッション(87.3項「サーバーおよびクライアントのセッション」を参照)

サポートされている


サポートされている


サポートされている


セッション・ブローカおよびクライアント・セッション(87.7項「セッション・ブローカおよびクライアント・セッション」を参照)

サポートされている


サポートされている


サポートされている


データベース・セッション(87.8項「データベース・セッション」を参照)

サポートされている


サポートされている


サポートされている



89.10.1 TopLink Workbenchを使用したセッション・イベント・リスナーの構成方法

セッション・イベント・リスナー

セッションにイベント・リスナーを指定するには、次の手順を実行します。

  1. ナビゲータでセッションを選択します。そのプロパティがエディタに表示されます。

  2. 「オプション」タブをクリックします。「オプション」タブが表示されます。

    図89-10 「オプション」タブ、「イベント・リスナー」フィールド

    図89-10の説明が続きます
    「図89-10 「オプション」タブ、「イベント・リスナー」フィールド」の説明

新しいイベント・リスナーを追加するには、「追加」をクリックして、このセッション用のイベント・リスナー・クラスを選択します。

既存のイベント・リスナーを削除するには、「イベント・リスナー」から選択して「削除」をクリックします。

89.10.2 Javaを使用したセッション・イベント・リスナーの構成方法

例89-9は、Javaを使用してセッション・イベント・リスナーをセッションに登録する方法を示します。TopLinkには、SessionEventListenerを簡単に作成できるSessionEventAdapterが用意されています。SessionEventAdapterには、SessionEventListenerインタフェースのすべてのメソッドのデフォルトの実装が搭載されています。使用する特定のメソッドをオーバーライドするだけで済みます。通常は、セッション・イベント・リスナーは、セッション・カスタマイザ・クラスに定義します(89.8項「セッション・カスタマイザ・クラスの構成」を参照)。

例89-9 セッション・イベント・アダプタを使用したセッション・イベント・リスナーの作成

...
SessionEventAdapter myEventListener = new SessionEventAdapter() {
    // Listen for PostCommitUnitOfWork events
    public void postCommitUnitOfWork(SessionEvent event) {
        // Call the handler routine
        unitOfWorkCommitted();
    }
};
mySession.getEventManager().addListener(myEventListener);
...

リスナーにロギングを追加する方法の詳細は、87.2.6項「ロギング」を参照してください。

89.11 整合性チェッカの構成

セッションにログインすると、TopLinkでは登録されたディスクリプタを初期化して検証します。整合性チェッカを構成することにより、この検証プロセスをカスタマイズして次の処理が実行されるようにすることができます。

表89-15では、どのセッションがディスクリプタの整合性チェック構成をサポートしているかを示します。

表89-15 セッションでのディスクリプタの整合性チェックのサポート

セッション Oracle JDeveloperの使用方法 TopLink Workbenchの使用方法 Javaを使用した整合性チェッカの構成方法

サーバーおよびクライアント・セッション(87.3項「サーバーおよびクライアントのセッション」を参照)

サポートされていない
サポートされていない

サポートされている


セッション・ブローカおよびクライアント・セッション(87.7項「セッション・ブローカおよびクライアント・セッション」を参照)

サポートされていない
サポートされていない

サポートされている


データベース・セッション(87.8項「データベース・セッション」を参照)

サポートされていない
サポートされていない

サポートされている



データベースのチェック

IntegrityCheckerメソッドsetShouldCheckDatabaseは、整合性チェッカがディスクリプタのメタデータをデータベースのメタデータと照合するかどうかを指定します。これにより、ディスクリプタに指定されている表やフィールドの欠落または不正によるエラーがあれば報告されます。このチェックがセッションの接続時に大きなオーバーヘッドとなる場合には、このチェックはデフォルトでオフになります。

すべての例外を捕捉

デフォルトでは、整合性チェッカは初期化中に発生した例外をすべて捕捉し、初期化の終了時には、検出されたエラーのすべてを報告する単一の例外をスローします。最初の例外の検出のみが必要な場合は、IntegrityCheckerメソッドsetShouldCatchExceptions(false)を使用してこの機能を無効にできます。

インスタンス化ポリシー例外を捕捉

デフォルトでは、整合性チェッカは、セッションで初期化された各ディスクリプタに対して、デフォルトまたは構成済のコンストラクタをテストします。この機能を無効にするには、IntegrityCheckerメソッドsetShouldCheckInstantiationPolicy(false)を使用します。

89.11.1 Javaを使用した整合性チェッカの構成方法

例89-10に示すように、整合性チェッカの検証プロセスを構成できます。

例89-10 整合性チェッカの構成

session.getIntegrityChecker().setShouldCheckDatabase(true);
session.getIntegrityChecker().setShouldCatchExceptions(false);
session.getIntegrityChecker().setShouldCheckInstantiationPolicy(false);
session.login();

89.12 接続ポリシーの構成

接続ポリシーを使用すると、TopLinkセッションでどのように読取りおよび書込み接続を取得して使用するかを制御できます。内容は次のとおりです。

表89-16では、どのセッションが接続ポリシーの構成をサポートしているかを示します。

表89-16 セッションでの接続ポリシーのサポート

セッション Oracle JDeveloperの使用方法 TopLink Workbenchを使用した接続ポリシーの構成方法
Javaを使用した接続ポリシーの構成方法

サーバーおよびクライアント・セッション(87.3項「サーバーおよびクライアントのセッション」を参照)

サポートされている


サポートされている


サポートされている


セッション・ブローカおよびクライアント・セッション(87.7項「セッション・ブローカおよびクライアント・セッション」を参照)

サポートされていない
サポートされていない
サポートされていない

データベース・セッション(87.8項「データベース・セッション」を参照)

サポートされていない
サポートされていない
サポートされていない

排他書込み接続

排他接続は、クライアント・セッションのライフ・サイクル中に(分離データの)読取りと書込みを実行するためにTopLinkがクライアント・セッションに割り当てる接続です。

デフォルトでは、排他接続は使用されず、クライアント・セッションではすべての非ペシミスティック読取り問合せに対してサーバー・セッションの読取り接続プールが使用されます。接続は、読取り問合せの実行ごとに読取り接続プールから取得され、問合せの実行後にプールに戻されます。接続が書込み接続プールから取得されるのは、作業ユニットのコミット操作時のみです(または、データ変更問合せやペシミスティック・ロックを使用した読取り問合せが使用される場合には、より早く取得される可能性もあります)。作業ユニットがコミットまたは解放されると、接続は書込み接続プールに戻されます。排他接続は、データベース読取りセキュリティまたはVirtual Private Database(VPD)サポートと組み合せて使用する目的で提供されています。排他接続を使用する場合は、サーバー・セッションの書込み接続プールから排他接続を取得します。クライアント・セッションを取得する場合、排他接続は、独立クラスに対する読取り問合せ(87.5項「独立クライアント・セッション」を参照)、排他読取り問合せ、ペシミスティック読取り問合せ、および作業ユニットのコミット操作に使用されます。排他接続は、クライアント・セッションが解放された場合にのみ解放されます。TopLinkでは、非分離データの読取りについては引き続き読取り接続プールから共有接続を取得します。JTA管理の外部接続プールと排他接続を組み合せて使用する場合は、JTAトランザクション境界にまたがってクライアント・セッションを再利用しないでください。物理JTAデータベース接続は、JTAトランザクション・ライフ・サイクルを基準として接続プールから取得および解放されるためです。JTAトランザクションごとに、新規クライアント・セッション(アクティブな作業ユニット)を使用する必要があります。詳細は、101.6項「排他読取り接続の構成」を参照してください。

また、排他接続の構成は、クライアント・セッションごと(90.4.2項「排他接続を使用するクライアント・セッションの取得方法」を参照)や名前付き問合せに対して(119.7.1.10項「名前付き問合せの詳細オプションの構成」を参照)行うこともできます。


注意:

クライアント・セッションに排他接続が含まれる場合は、その使用を完了した後、セッションを解放する必要があります(90.8項「セッションからのログアウト」を参照)。セッションのガベージ・コレクション時、ファイナライザに依存して接続を解放することのないようにしてください。JTAトランザクション内で作業ユニットを使用する場合、クライアント・セッションを解放する必要はありません。JTAトランザクションの完了後に、作業ユニットによって解放されるためです。

遅延接続の取得

クライアント・セッションで最初の作業ユニット・コミット操作、排他読取り問合せまたはペシミスティック読取り問合せを実行する際に、TopLinkではデフォルトで、書込み接続が遅延して取得されます。各作業ユニットがコミットまたは解放されると、書込み接続も解放されます。

別の方法として、クライアント・セッションの取得時に書込み接続を取得し、クライアント・セッションの解放時にその接続を解放するようTopLinkを構成できます。

あるいは、クライアント・セッションごとに遅延接続の取得を構成することもできます(90.4.5項「遅延接続割当てを使用しないクライアント・セッションの取得方法」を参照)。

89.12.1 TopLink Workbenchを使用した接続ポリシーの構成方法

セッションに接続ポリシーを指定するには、次の手順を実行します。

  1. ナビゲータでセッションを選択します。そのプロパティがエディタに表示されます。

  2. 「接続ポリシー」タブをクリックします。「接続ポリシー」タブが表示されます。

    図89-11 「接続ポリシー」タブ

    図89-11の説明が続きます
    「図89-11 「接続ポリシー」タブ」の説明

89.12.2 Javaを使用した接続ポリシーの構成方法

排他接続を特定の独立セッションに割り当てるかどうかを構成するには、ConnectionPolicyメソッドsetShouldUseExclusiveConnectionを使用します。

独立セッションのサポートに使用するプロパティのマップを定義するには、ConnectionPolicyの次のメソッドを使用します。

  • setProperty(Object key, Object value): プロパティvaluekeyの名前でマップに追加します。マップにkeyがすでに存在する場合は、既存の値を上書きします。

  • Object getProperty(Object key): keyの値をObjectとして返します。

  • boolean hasProperties: マップに1つ以上のプロパティが存在する場合は、trueを返します。そうでない場合はfalseを返します。

TopLinkランタイムではこのマップをSessionEventイベントのPostAcquireExclusiveConnectionおよびPreReleaseExclusiveConnectionに渡すため、実装では、基盤となるデータベース・プラットフォームへの適切なPL/SQLコールを行うことができます(92.2項「PostAcquireExclusiveConnectionイベント・ハンドラの使用」および92.3項「PreReleaseExclusiveConnectionイベント・ハンドラの使用」を参照)。

名前付き接続プールを使用するようにセッションを構成するには、引数としてString接続プール名をとるConnectionPoolコンストラクタを使用します。

Session clientSession = server.acquireClientSession(
    new ConnectionPolicy("myConnectionPool")
);

89.13 セッション・レベルでの名前付き問合せの構成

名前付き問合せとは、後から取得および実行できるように名前を付けて作成し、セッション内に格納する、TopLinkの問合せの一種です。名前付き問合せは、一度作成すると、基礎となる関連オブジェクトすべてとともに後で効率的に再利用できるため、頻繁に実行される操作に適しており、アプリケーションのパフォーマンスを向上させることができます。

プロジェクトにおいてグローバルな名前付き問合せは、セッション・レベルで構成します。または、名前付き問合せはディスクリプタ・レベルで構成することもできます(119.7項「ディスクリプタ・レベルでの名前付き問合せの構成」を参照)。

名前付き問合せでSQL、EJB QLまたはTopLinkの式問合せを指定して、データ・ソースにアクセスします。

表89-17では、どのセッションが名前付き問合せ構成をサポートしているかを示します。

表89-17 セッションでの名前付き問合せのサポート

セッション Oracle JDeveloperの使用方法 TopLink Workbenchの使用方法 Javaを使用したセッション・レベルでの名前付き問合せの構成方法

サーバーおよびクライアント・セッション(87.3項「サーバーおよびクライアントのセッション」を参照)

サポートされていない
サポートされていない

サポートされている


セッション・ブローカおよびクライアント・セッション(87.7項「セッション・ブローカおよびクライアント・セッション」を参照)

サポートされていない
サポートされていない

サポートされている


データベース・セッション(87.8項「データベース・セッション」を参照)

サポートされていない
サポートされていない

サポートされている



作成した名前付き問合せは、後からTopLinkセッションで名前を指定して実行できます(109.3項「名前付き問合せの使用」を参照)。

名前付き問合せの詳細は、108.8項「名前付き問合せ」を参照してください。

89.13.1 Javaを使用したセッション・レベルでの名前付き問合せの構成方法

名前付き問合せをセッションに格納するには、SessionメソッドaddQuery(String name, DatabaseQuery query)を使用します。