3 WebLogic ServerでのTopLinkの使用
この章の内容は次のとおりです。
ユース・ケース
WebLogic Serverの開発者、管理者およびユーザーは、TopLinkの永続性および変換サービスをすべて利用したいと考えています。
解決方法
WebLogic Serverでは他の永続性プロバイダを使用でき、TopLinkは他のアプリケーション・サーバーで使用できるので、WebLogic ServerをTopLinkとともに使用すると、多くの利点があります。
コンポーネント
-
WebLogic Server 12c以上。WebLogic ServerにTopLinkが含まれます。
注意:
TopLinkのコア機能は、オープン・ソースのEclipse Foundationの永続性フレームワークであるEclipseLinkによって提供されています。EclipseLinkでは、Java Persistence API (JPA)、Java Architecture for XML Binding (JAXB)、および標準に基づいたその他の永続性テクノロジと、それらの標準の拡張が実装されます。TopLinkには、EclipseLinkのすべてに加え、Oracleの追加機能が含まれています。
-
Oracle Database、Oracle Express、MySQLなど、対応するJava Database Connectivity (JDBC)データベース。
-
必須ではありませんが、Java EE統合開発環境(IDE)を開発に使用すると便利です。
サンプル
関連情報については、次のEclipseLinkの例を参照してください。
ソリューションの概要
WebLogic Serverは、エンタープライズ対応のスケーラブルなJava Platform, Enterprise Edition (Java EEプラットフォーム)アプリケーション・サーバーです。WebLogic ServerにはJava EE 6の仕様が完全に実装されており、データベースやメッセージング・サービス、外部のエンタープライズ・システムへの接続など広範なサービスにアクセス可能な分散Javaアプリケーションを作成するための標準APIセットが用意されています。WebLogic Serverでは、Java EEの実装に加えて、堅牢かつセキュアで可用性が高くスケーラブルな環境にクリティカルなアプリケーションを企業がデプロイできるようになっています。これらの特徴により、企業はWebLogic Serverインスタンスのクラスタを構成し、ロードを分散し、ハードウェアまたはその他の障害が発生した際にかわりとなる処理能力を提供できます。WebLogic Serverのこれらおよび他の機能の詳細は、WebLogic Serverの紹介を参照してください。
TopLinkには、(Java SEアプリケーションに加え)Java EEアプリケーションの永続性レイヤーを実装するためのAPIとランタイム環境が備わっています。
WebLogic ServerでTopLinkを使用する利点
WebLogic Serverでは他の永続性プロバイダを使用でき、TopLinkは他のアプリケーション・サーバーで使用できるので、WebLogic ServerをTopLinkとともに使用すると、多くの利点があります。
-
EclipseLinkは、JPA 2.1をサポートするWebLogic Serverドメインのデフォルトの永続性プロバイダです。
-
EclipseLinkに実装されているJava Architecture for XML Binding (JAXB)は、WebLogic ServerのデフォルトのJAXBの実装です。EclipseLinkはJAXBを完全に実装するのみではなく、その他の高度な機能も含んでいます。Java API for XML Web Services (JAX-WS)およびJava API for RESTful Web Services (JAX-RS)アプリケーションのEclipseLink JAXBの利点をデフォルトで利用できます。
-
Oracle WebLogic Suiteには、データ・キャッシング、データ・レプリケーションおよび分散コンピューティング・サービスを提供するJavaベースのインメモリー・データグリッド製品であるOracle Coherenceが含まれています。WebLogic ServerとCoherenceは密に統合されているので、アプリケーションはCoherenceのデータ・キャッシュを使用できます。WebLogic ServerにデプロイされたEclipseLinkアプリケーションでは、Oracle TopLink Gridを使用して、Coherenceをエンティティのレベル2 (L2)キャッシュおよび永続性レイヤーとして使用してEclipseLink JPAと統合できます。詳細は、『Oracle Coherenceでのアプリケーションの開発』および『Oracle Coherenceの統合』を参照してください。
注意:
別途ライセンスされた製品としてCoherenceを入手して、WebLogic Server Standard EditionおよびWebLogic Server Enterprise Editionを使用することもできます。
-
WebLogic ServerにEclipseLinkのロギングを統合することにより、包括的な統合ロギング・インフラストラクチャが実現されています。「タスク4: ロギング統合の使用または再構成」を参照してください。
-
WebLogic Serverでは、StrutsおよびJavaServer Faces (JSF)に基づくエンドツーエンドのJava EEフレームワークであるOracle Application Development Framework (Oracle ADF)をサポートしています。Oracle ADFでは、インフラストラクチャ・サービスおよび視覚的で宣言的な開発エクスペリエンスを実現することにより、アプリケーション開発が簡素化されています。TopLinkおよびOracle ADFをともに使用することにより、完全なJava EEアプリケーション・インフラストラクチャが実現されます。Oracle ADFについては、このマニュアルでは説明しません。『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』を参照してください。
-
WebLogic Server、TopLinkおよびOracle ADFはすべて、TopLinkを永続性プロバイダとして使用し、WebLogic Serverにデプロイされるアプリケーションを含むJava EEアプリケーションのモデリング、開発、デバッグ、最適化およびデプロイをサポートするOracleの統合開発環境(IDE)であるOracle JDeveloperと統合されています。JDeveloperの使用方法は、このドキュメントでは説明しません。JDeveloperに関する一般的な情報は、
http://www.oracle.com/technetwork/developer-tools/jdev/overview/index.html
を参照してください。JDeveloperのタスクに関する情報は、JDeveloper IDEのJDeveloperオンライン・ヘルプを参照してください。
TopLinkおよびその他のFusion Middleware製品
図3-1は、他のOracle製品に対するWebLogic ServerとTopLinkの関係および使用方法を示しています。次のように、製品をともに使用することが可能です。
-
JDeveloper (またはOracle Enterprise Pack for EclipseまたはNetBeans)をJava EEアプリケーションの開発に使用します。
-
永続性プロバイダとしてEclipseLinkを使用します。
-
データのキャッシュ、データのレプリケーション、分散コンピューティング・サービスに(TopLink Gridへの統合を介して)Oracle Coherenceを使用します。
-
アプリケーション・サーバーとしてWebLogicを使用します。
-
EclipseLink JPAアプリケーションからのデータを永続化するにはOracle Databaseを使用し、EclipseLink JAXBアプリケーションからデータを永続化するには、XMLを使用します。
ソリューションの実装
EclipseLink JPAアプリケーションをWebLogic Serverで実行するには、次のタスクに示すとおり、WebLogic Serverを構成してサーバーとアプリケーションで特定の設定を調整する必要があります。
タスク1: 前提条件
このドキュメントは、次の製品およびツールに基づいていますが、原則は、サポートされているすべてのデータベースまたは開発環境に適用できます。後の項で特記されている場合以外、ソフトウェアはすでにインストールされているものと仮定しています。
-
WebLogic Server 12c以上。
詳細およびダウンロードは、Oracle Technology Networkの
http://www.oracle.com/technetwork/middleware/weblogic/overview/index.html
を参照してください。
-
Oracle Database、Oracle Express、MySQLなど、対応するすべてのJava Database Connectivity (JDBC)データベース。
Oracle Databaseについては、
http://www.oracle.com/technetwork/database/enterprise-edition/overview/index.html
を参照してください。Oracle Database, Express Editionについては、http://www.oracle.com/technetwork/database/express-edition/overview/index.html
を参照してください。MySQLについては、http://www.oracle.com/us/products/mysql/index.html
を参照してください。 -
必須ではありませんが、Java開発環境(IDE)を開発に使用すると便利です。たとえば、JDeveloper、Oracle Enterprise Pack for EclipseおよびNetBeansにはすべて、高度なJava EE開発ツールが用意されています。このドキュメントでは、WebLogic Serverのスタンドアロン・インスタンスについて説明しますが、JDeveloperとOracle Enterprise Pack for Eclipseの両方にWebLogic Serverの組込みバージョンが含まれています。
JDeveloperについては、
http://www.oracle.com/technetwork/developer-tools/jdev/downloads/index.html
を参照してください。Oracle Enterprise Pack for Eclipseについては、http://www.oracle.com/technetwork/developer-tools/eclipse/overview/index.html
を参照してください。NetBeansの詳細は、https://www.oracle.com/tools/technologies/netbeans-ide.html
を参照してください。
オプションのタスク: WebLogic ServerでのEclipseLinkのリリースの更新(オプション)
古いバージョンのWebLogic Serverを使用している場合、その中で使用されているEclipseLinkのバージョンをアップグレードできます。より新しいTopLinkの配布からeclipselink.jar
を取得し、次の手順で説明するとおり、WebLogic Serverのフィルタリング・クラス・ローダーおよび共有ライブラリ機能を使用します。
FilteringClassLoader
クラスは、デプロイメント・ディスクリプタを構成して、特定のパッケージが常にシステム・クラス・ローダーではなくアプリケーションからロードされるように指定するメカニズムがあります。このメカニズムを使用すれば、新しいリリースのEclipseLinkがアプリケーションで使用されるように指定できます。WebLogic Serverでのクラスローダーのフィルタリングの詳細は、『Oracle WebLogic Serverアプリケーションの開発』のフィルタリング・クラスローダーの使用方法に関する項を参照してください。
共有ライブラリは、複数のエンタープライズ・アプリケーションで共有できるJava EEモジュールです。共有ライブラリはWebLogic Serverのターゲットにデプロイされ、その後アプリケーションで参照できるようになります。デプロイされると、WebLogic Serverでは、共有ライブラリの内容がアプリケーションとマージされます。さらに、共有ライブラリは標準のJava EEアーカイブとしてパッケージ化できるので、デプロイ時には、ディスクリプタもアプリケーションとマージされます。WebLogic Serverの共有ライブラリの詳細は、『Oracle WebLogic Serverアプリケーションの開発』の「共有Java EEライブラリおよびオプション・パッケージの作成」を参照してください。
様々なリリースでサポートされている内容については、次を参照してください。
-
https://www.oracle.com/technetwork/middleware/ias/resources-index-082615.html
にある「Oracle TopLink: JPA Certification」 -
https://www.oracle.com/technetwork/middleware/toplink/overview/index.html
にあるOracle TopLinkおよびWebLogicのサポートに関する項
WebLogic ServerでEclipseLinkのリリースを更新するには、次の手順を実行します。
タスク3: WebLogic ServerのJMX MBean拡張の構成
WebLogic ServerはJava Management Extensions (JMX) MBeanを使用して、WebLogic Serverのリソースを構成、監視および管理します。EclipseLinkのアプリケーションの場合、MBeanは永続性ユニットの様々な面の監視および設定に使用され、ロギングにも使用されます。
注意:
EclipseLinkのアプリケーションがWebLogic Serverにデプロイされている場合、デプロイ時ではなくデータベースへの接続時にMBeanがデプロイされます。
WebLogic ServerでMBeanがどのように使用されるかの詳細は、『Oracle WebLogic Server JMXによるカスタム管理ユーティリティの開発』および『Oracle WebLogic Server JMXによる管理可能アプリケーションの開発』を参照してください。
WebLogic ServerでのEclipseLinkのロギングの詳細は、「タスク4: ロギング統合の使用または再構成」を参照してください。
デフォルトでは、EclipseLinkアプリケーションをWebLogic Serverにデプロイすると、EclipseLinkのランタイムが、各EclipseLinkセッションのWebLogic Server JMXサービスに対して、次のJMX MBeanをデプロイします。
-
org.eclipse.persistence.services.DevelopmentServices
: これは、EclipseLinkの内部的なEclipseLinkセッションをJMX経由で管理する機能を提供するためのクラスです。 -
org.eclipse.persistence.services.RuntimeServices
: これは、EclipseLinkの外部的なEclipseLinkセッションをJMX経由で管理する機能を提供するためのクラスです。
このJMX MBeanが公開するAPIを使用すれば、自分で記述したJMXコードを使用してEclipseLinkセッションの実行時にアクセスおよび構成をしたり、JConsoleなどのサード・パーティのJMX管理アプリケーションを使用してEclipseLinkアプリケーションを統合したりできます。
カスタムMBeanに関するアクセス情報を入手するには、まず匿名参照を有効にしてから、別のツールを使用してMBean情報にアクセスします。
WebLogic Serverの管理コンソールで匿名参照を有効にするには、次の手順を実行します。
- まだ行っていない場合は、管理コンソールの「チェンジ・センター」で、「ロックして編集」をクリックします
- まず左側のペインで、ドメインを選択し、ドメインの「設定」ページを開きます。
- 「セキュリティ」→「一般」を展開します。
- 「匿名Adminのルックアップを有効化」を選択します。
- 管理コンソールのチェンジ・センターで「変更のアクティブ化」をクリックしてこれらの変更をアクティブ化します。
様々なツールを使用してMBeanにアクセスする方法の詳細は、『Oracle WebLogic Server JMXによる管理可能アプリケーションの開発』の「カスタムMBeanへのアクセス」を参照してください。
管理コンソールでカスタムMBeanを監視する方法の詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのカスタムMBeanの監視に関する項を参照してください。
タスク4: ロギング統合の使用または再構成
デフォルトでは、EclipseLinkのロギングはWebLogic Serverのロギング・インフラストラクチャに統合されます。統合の動作の詳細およびそれをオーバーライドする方法は、次の項を参照してください。WebLogic Serverのロギングの詳細は、次を参照してください。
-
Oracle WebLogic ServerにデプロイされたアプリケーションへのWebLogicロギング・サービスの追加
-
Oracle WebLogic Serverの管理コンソール・オンライン・ヘルプのロギングに関する項
JPA永続性ユニットに対するロギングの構成方法の詳細は、http://wiki.eclipse.org/EclipseLink/Examples/JPA/Logging
にあるEclipseLinkドキュメントの『How to Configure Logging』を参照してください。
ロギング統合の動作方法
デフォルトでは、WebLogic Serverのロギング実装は永続性コンテキストに注入されるので、WebLogic Serverのロギング構成に従ってEclipseLinkのすべてのロギング・メッセージが生成されるようになります。
この統合の結果、表3-1に示すとおり、EclipseLinkのロギング・レベルがWebLogic Serverのロギング・レベルに変換されます。
表3-1 WebLogic Serverのロギング・レベルへのEclipseLinkのロギング・レベルのマッピング
EclipseLinkのロギング・レベル | WebLogic Serverのロギング・レベル |
---|---|
ALL、FINEST、FINER、FINE |
DEBUG |
CONFIG |
INFO |
INFO |
NOTICE |
WARNING |
WARNING |
SEVERE |
ALERT |
OFF |
OFF |
表3-2に示すとおり、WebLogic Serverのロギング・レベルがEclipseLinkのレベルにマップされます。
表3-2 EclipseLinkのロギング・レベルへのWebLogic Serverのロギング・レベルのマッピング
WebLogic Serverのロギング・レベル | EclipseLinkのロギング・レベル |
---|---|
TRACE、DEBUG |
FINEST |
INFO |
CONFIG |
NOTICE |
INFO |
WARNING |
WARNING |
ERROR、CRITICAL、ALERT |
SEVERE |
EMERGENCY、OFF |
OFF |
管理コンソールでの永続性ユニットのロギング・レベルの表示
「タスク10: WebLogic Serverの永続性設定の構成および監視」で説明するように、管理コンソールで、永続性ユニットに定義されているEclipseLinkのロギング・レベルを表示できます。ただし、persistence.xml
ファイルで設定されているこのロギング・レベルは、デフォルトのWebLogic ServerおよびEclipseLinkロギングの統合が使用される場合は、オーバーライドされることに注意してください。統合をオーバーライドする手順は、「デフォルト・ロギング統合のオーバーライド」を参照してください。
デフォルト統合を使用すると、永続性に対するEnterprise JavaBeans (EJB)ロギング・オプションがすべてマップされて、管理コンソールのEclipseLinkのロギング出力が制御されます。
デフォルト・ロギング統合のオーバーライド
EclipseLinkのロギング・レベルはpersistence.xml
ファイルに設定します。ただし、WebLogic Serverとのデフォルト・ロギング統合を受け入れると、これらの設定は無視され、WebLogic Serverに設定されているロギング構成が使用されます。EclipseLinkのロギング・レベルは、EclipseLinkのネイティブのロギング実装を使用する場合のみに使用されます。
eclipselink.logging.logger
プロパティ名を別の設定にすると、デフォルト・ロギング統合をオーバーライドできます。EclipseLinkのデフォルト・ロギングを有効にするには、たとえばeclipselink.logging.logger
プロパティを次のように設定します。
<property name="eclipselink.logging.logger" value="DefaultLogger"/>
たとえばjava.util.logging
パッケージなど、EclipseLinkメッセージ用に別のログの実装を使用することも可能です。
<property name="eclipselink.logging.logger" value="JavaLogger"/>
EclipseLinkのロギングを公開するためのWebLogic Serverの構成
EclipseLinkのネイティブのロギング実装を使用する場合は、登録されたログの宛先にWebLogic ServerがJava Virtual Machine (JVM)の出力をリダイレクトするように構成すれば、EclipseLinkのロギング・メッセージをWebLogic Serverドメインのログ・ファイルに引き続き表示できます。
リダイレクトの詳細および手順は、『Oracle WebLogic Serverログ・ファイルの構成とログ・メッセージのフィルタリング』のJVMの出力のリダイレクトに関する項を参照してください。管理コンソールでこのオプションを設定するには、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのJVM出力のリダイレクトに関する項を参照してください。
その他の考慮事項
次なども考慮します。
-
メッセージID
2005000
は、EclipseLinkのすべてのログ・メッセージに対して使用されています。 -
実行時にアプリケーションのエンティティ・マネージャ・ファクトリがEclipseLinkのロギング・インフラストラクチャおよびEclipseLinkのロギング設定のみを使用する場合でも、(ロギング・レベルの設定によっては) WebLogic Serverの統合ロガーによって処理される一部のロギング・メッセージがWebLogic Serverのコンソールまたはサーバー・ログにデプロイ中に表示される場合があります。
-
WebLogic ServerのインストールにバンドルされているEclipseLinkとは別のリリースを(フィルタリング・クラスローダーを使用して)使用する場合に、デフォルトの統合ロギングを使用しようとすると、クラスローディングの競合のためにエラーが発生する可能性があります。この問題を回避するには、統合されたWebLogic Serverロガー以外のものに
eclipselink.logging.logger
プロパティを明示的に設定してください。
タスク5: EclipseLinkを使用したJavaアプリケーションへの永続性の追加
EclipseLink JPAを使用してアプリケーションに対する永続性を実現することは、この章で説明する他のすべてのタスクで仮定されている基本的なタスクですが、実際のJPAプログラミング技法の大部分はこのドキュメントでは説明しません。WebLogic Serverでは、この章で説明する詳細以外に、EclipseLinkアプリケーションに対する特別な要件はありません。
この章では、EclipseLink (ランタイムおよびAPI)をWebLogic Server使用する場合に固有の機能、設定およびタスクについて説明します。JPAを使用したJavaアプリケーションの開発、パッケージ化およびデプロイの詳細は、次を参照してください。
-
http://wiki.eclipse.org/EclipseLink
にあるEclipseLinkプロパティのwiki -
http://wiki.eclipse.org/EclipseLink/Documentation_Center
にあるEclipseLink Documentation Center -
http://jcp.org/en/jsr/detail?id=317
にあるJava Persistence APIバージョン2.1仕様 -
http://download.oracle.com/javaee/6/tutorial/doc/bnbpy.html
にあるJava EE 6チュートリアルの第V部「永続性」 -
JPAを使用したJavaアプリケーションのプログラミングについて説明したサード・パーティの書籍
TopLinkの機能と概念の詳細は、「概要」および『Oracle TopLinkの理解』を参照してください。
WebLogic Serverのプログラミングについては、WebLogic Serverのマニュアル・セット内の特に次などの任意のマニュアルを参照してください。
タスク6: データ・ソースの構成
WebLogic Serverでデータベース接続を構成するには、JDBCデータ・ソースをWebLogic Serverドメインに追加します。各WebLogicデータ・ソースは、データベース接続のプールを保有しています。アプリケーションは、Java Naming and Directory Interface (JNDI) ツリー上またはローカルのアプリケーション・コンテキスト内でデータ・ソースを検索し、getConnection()
メソッドを使用してデータベース接続を予約します。データ・ソースおよびその接続プールは、システムの効率的な稼働を維持するための接続管理プロセスを備えています。
WebLogic ServerでJDBCを使用する方法の詳細は、次を参照してください。
-
WebLogic ServerでJDBCを使用する方法の完全なドキュメントは、『Oracle WebLogic Server JDBCデータ・ソースの管理』の次の項を特に参照してください。
-
WebLogic Server管理コンソールでJDBCデータ・ソースを操作する方法の詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプのJDBCの構成に関する項のトピックを参照してください。
グローバル・スコープのJTAデータ・ソースの構成
最も一般的なデータ・ソース構成は、グローバル・スコープのJNDIデータ・ソースで、トランザクション管理にJava Transaction API (JTA)を使用して、persistence.xml
ファイルに指定します。構成は次のステップのとおり簡単で、複数のアプリケーションがデータ・ソースにアクセスできます。
persistence.xmlファイルの構成
次の例3-1に示すとおり、persistence.xml
ファイルに、transaction-type
がJTA
であることを指定して、データ・ソースの名前をjta-data-source
要素(前にjdbc/
が付く場合とそうでない場合があります)に指定します。
例3-1 JTAを使用するJNDIデータ・ソースが指定されたpersistence.xmlファイル
... <persistence-unit name="example" transaction-type="JTA"> <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> <jta-data-source>JDBC Data Source-1</jta-data-source> <class>org.eclipse.persistence.example.jpa.server.business.Cell</class> <class>org.eclipse.persistence.example.jpa.server.business.CellAttribute</class> </persistence-unit>
データ・ソースがアプリケーション・スコープであることの指定
アプリケーション・スコープのデータ・ソースを定義するには、name
-jdbc.xml
JDBCモジュール・ファイルを作成して、アプリケーションのEARファイルのMETA-INF
フォルダに置きます。例3-2に示すとおり、そのファイルのjdbc-data-source-params
セクションに<scope>Application</scope>
を追加します。
例3-2 name-jdbc.xmlファイルに定義されたJDBCデータ・ソース
<jdbc-data-source ...>
...
<jdbc-data-source-params>
<jndi-name>SimpleAppScopedDS</jndi-name>
<scope>Application</scope>
</jdbc-data-source-params>
</jdbc-data-source>
注意:
「グローバル・スコープのJTAデータ・ソースの構成」の説明に従って、WebLogic Server管理コンソールからグローバル・スコープのデータ・ソースを作成すれば、name
-jdbc.xml
ファイルのフレームワークを作成できますが、次の点が異なります。
-
データ・ソースをサーバーに関連付けないでください
-
<scope>
要素を手動で追加してください
JDBCモジュール構成ファイルおよびjdbc-data-source
(<jdbc-driver-params>
および<jdbc-connection-pool-params>
を含む)の詳細は、『Oracle WebLogic Server JDBCデータ・ソースの管理』の「WebLogic JDBCリソースの構成」を参照してください。
WebLogic Serverのアプリケーション構成へのJDBCモジュールの追加
例3-3に示すとおり、EARファイルの/META-INF/weblogic-application.xml
アプリケーション・デプロイメント・ディスクリプタにJDBCモジュールへの参照を追加します。これにより、アプリケーションで使用するデータ・ソースが登録されます。
例3-3 weblogic-application.xmlファイルに定義されたJDBCモジュール
<wls:module> <wls:name>SimpleAppScopedDS</wls:name> <wls:type>JDBC</wls:type> <wls:path>META-INF/simple-jdbc.xml</wls:path> </wls:module>
weblogic-application.xml
アプリケーション・デプロイメント・ディスクリプタの詳細は、『Oracle WebLogic Serverへのアプリケーションのデプロイ』のアプリケーションのデプロイメント記述子の理解に関する項および『Oracle WebLogic Serverアプリケーションの開発』の「エンタープライズ・アプリケーションのデプロイメント記述子の要素」を参照してください。
JTAデータ・ソースを使用するためのJPA永続性ユニットの構成
EclipseLinkランタイムがアプリケーション・スコープのデータ・ソースを遅延参照できるようにするには、persistence.xml
ファイルの永続性ユニットの定義に追加のデータ・ソース・プロパティを指定する必要があります。例3-4に示すとおり、JTAデータ・ソースの場合は、javax.persistence.jtaDataSource
完全修飾プロパティに値java:/app/jdbc/
data_source_name
を指定して追加します。
<jta-data-source>
プロパティの値と<javax.persistence.jtaDataSource>
プロパティの値は一致する必要があります。
例3-4 persistence.xmlファイル内のJTAデータ・ソースの定義
<?xml version="1.0" encoding="windows-1252" ?> <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_1_0.xsd" version="1.0" xmlns="http://java.sun.com/xml/ns/persistence"> <persistence-unit name="employee" transaction-type="JTA"> <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> <jta-data-source>java:/app/jdbc/SimpleAppScopedDS</jta-data-source> <properties> <property name="javax.persistence.jtaDataSource" value="java:/app/jdbc/SimpleAppScopedDS" /> </properties> </persistence-unit> </persistence>
非JTAデータ・ソースの構成およびアプリケーションのトランザクション管理
アプリケーションが管理する非JTAデータ・ソースを構成するには、「アプリケーション・スコープのJTAデータ・ソースの構成」の説明と同じことをしますが、例3-5に示すとおり、非JTAデータ・ソースを指定して、非JTAデータ・ソースを使用するようにJPAの永続性を構成します。
例3-5 persistence.xmlファイル内の非JTAデータ・ソースの定義
<?xml version="1.0" encoding="windows-1252" ?> <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_1_0.xsd" version="1.0" xmlns="http://java.sun.com/xml/ns/persistence"> <persistence-unit name="employee" transaction-type="RESOURCE_LOCAL"> <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> <non-jta-data-source>OracleDS</non-jta-data-source> <properties> <property name="javax.persistence.nonJtaDataSource" value="OracleDS" /> </properties> </persistence-unit> </persistence>
たとえば、 『Oracle WebLogic Server JTAアプリケーションの開発』の「EJBアプリケーションのトランザクション」に従って、トランザクションを処理するコードをアプリケーションに記述します。
設定の一致の確認
データ・ソース構成の特定の設定は、アプリケーションのejbModule/META-INF/persistence.xml
ファイルの特定の設定と一致する必要があります。WebLogic Serverのデータ・ソース構成については、構成ファイルまたは管理コンソールで設定を確認できます。
管理コンソールでは、次のように設定を確認します。
例3-6 サーバー・ドメインのconfig.xmlファイル
... <domain...> <jdbc-system-resource> <name>localJTA</name> <target>AdminServer,ManagedServer_1,ManagedServer_2</target> <descriptor-file-name>jdbc/localJTA-4636-jdbc.xml</descriptor-file-name> </jdbc-system-resource> </domain>
例3-6では、ドメインのconfig.xml
ファイルとアプリケーションのpersistence.xml
ファイルで共有する必要がある値を示しています。
タスク7: Oracle Databaseの高度な機能を使用するためのドメインの拡張
Oracle SpatialおよびOracle XDBマッピングの機能を(スタンドアロンのWebLogic ServerとJDeveloperに統合されたWebLogic Serverの両方で)完全にサポートするには、それぞれtoplink-spatial-template.jar
ファイルおよびtoplink-xdb-template.jar
ファイルを使用してWebLogic Serverドメインを拡張し、Oracle SpatialとOracle XDBをサポートする必要があります。
WebLogic Serverドメインを拡張する手順:
WebLogic Serverドメイン・テンプレートの使用方法の詳細は、ドメイン・テンプレート・リファレンスを参照してください。
タスク8: WebLogic Serverの起動とアプリケーションのデプロイ
WebLogic Serverヘのデプロイに関する詳細は、『Oracle WebLogic Serverへのアプリケーションのデプロイ』を参照してください。『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』のFusion Webアプリケーションのデプロイに関する項を参照してください。
タスク9: アプリケーションの実行
デプロイされたアプリケーションをWebLogic Server管理コンソールから起動する手順の詳細は、WebLogic Server管理コンソール・オンライン・ヘルプのデプロイされたエンタープライズ・アプリケーションの起動と停止に関する項を参照してください。
その他の参考資料
この章のソリューションが実装されているその他のテクノロジおよびツールの詳細は、次の参考資料を参照してください。
-
次などのOracle TopLink Java APIリファレンス:
-
org.eclipse.persistence
-
org.eclipse.persistence.jpa.PersistenceProvider
-
org.eclipse.persistence.services.mbean
-