0

私は Hibernate を使用して、Oracle GlassFish Server (OGS) にデプロイするアプリの ORM を処理することを計画しています。また、私が本当に気に入っている Bitronix (JTA impl) が提供するいくつかの機能を利用したいと思います。OGS には JPA と JTA (およびその他) のデフォルト実装が (プリインストールされた) あるため、Hibernate や Bitronix を使用できないのではないかと心配する前に、OGS を使用したことはありませんでした。

これは本当ですか?OGS ルートを使用する場合、コンテナーに付属する JPA/JTA 実装に固執しますか? これはすべての Java EE 準拠のコンテナーに当てはまりますか?

これに対する回避策はありますか (クラスパス、XML/PROPERTIES ファイルの再構成など)? 前もって感謝します!

4

2 に答える 2

1

私が知る限り、ほとんどのアプリケーション サーバーのクラス ローダーは、アプリケーション サーバーのライブラリ (ほとんどがデフォルトの動作) またはアプリケーションのライブラリを最初に使用するように (それらにデプロイされたアプリケーションごとに) 構成できます。

私は Weblogic を使用しており、そのカスタム デプロイメント記述子には、アプリケーションのライブラリ (WAR ファイルまたは EAR ファイル内にデプロイされる) をアプリケーション サーバーのライブラリよりも優先させる XML タグがあります。

pn GlassFish コンソールで JTA 実装を構成できないことは明らかです。

pn persistence.xml ファイルで JPA プロバイダーを指定できませんか?

于 2012-07-09T22:50:26.307 に答える
0

これは良い考えではありません。コアモジュールの交換は、一般的にリスクです。ほとんどのコアテクノロジーは緊密に統合されており、簡単に切り替えることはできません。目的のベンダーが追加のプロバイダーのサポートとグルーコードを持っている場合は幸運です。OGSの場合、EclipseLink(JPA RI)またはHibernate(グルーコードを含む一部の更新モジュールが利用可能)にバインドされます。アプリケーションと一緒にコンテンツを出荷すると、(最悪の場合)奇妙なクラス読み込みエラーが発生する可能性があります。ここで私の考えとJSFの例を参照してください:http://blog.eisele.net/2012/07/upgrading-mojarra-in-glassfish.html

于 2012-07-12T05:10:11.317 に答える