この章では、様々なタイプのTopLinkアプリケーションについてのデプロイ情報について説明します。
この章の内容は次のとおりです。
詳細は、次を参照してください。
JARファイルを作成し(10.1項「Javaアプリケーションのパッケージ化」を参照)、クラスパスに配置します。
クライアント・アプリケーションからのTopLinkへのアクセスに関する詳細は、第90章「実行時のセッションの取得と使用」を参照してください。
WARファイルとJARファイル(10.2項「JavaServer Pagesおよびサーブレット・アプリケーションのパッケージ化」を参照)を作成した後、それらのファイルからデプロイ用のEARファイルを作成します。EARをJSPサーブレット・サーバーにデプロイするには、EARを既知のディレクトリにコピーします。サーバー固有のデプロイ・ツールの使用が必要な場合もあります。詳細は、サーバーのドキュメントを参照してください。
クライアント・アプリケーションからのTopLinkへのアクセスに関する詳細は、90.3.2項「代替クラス・ローダーによるsessions.xmlからのセッションのロード方法」を参照してください。
WARファイルとJARファイル(10.3項「セッションBeanアプリケーションのパッケージ化」を参照)を作成した後、それらのファイルからデプロイ用のEARファイルを作成します。EARファイルをJava EEサーバーにデプロイするには、EARを通常使用されているディレクトリにコピーします。サーバー固有のデプロイ・ツールの使用が必要な場合もあります。詳細は、サーバーのドキュメントを参照してください。
クライアント・アプリケーションからのTopLinkへのアクセスに関する詳細は、90.3.2項「代替クラス・ローダーによるsessions.xmlからのセッションのロード方法」を参照してください。
オプションとして、11.7項「EJBのホット・デプロイの実行」も検討できます。
JPAアプリケーションをパッケージ化した後、選択したアプリケーション・サーバーにこのアプリケーションをデプロイします。
詳細は、『EclipseLink Developer's Guide』の「Deploying an EclipseLink JPA Application」(http://wiki.eclipse.org/Packaging_and_Deploying_EclipseLink_JPA_Applications_%28ELUG%29#Deploying_an_EclipseLink_JPA_Application
)を参照してください。
WARファイルとJARファイル(10.6項「CMPアプリケーションのパッケージ化」を参照)を作成した後、それらのファイルからデプロイ用のEARファイルを作成します。EARファイルをJava EEサーバーにデプロイするには、EARを通常使用されているディレクトリにコピーします。サーバー固有のデプロイ・ツールの使用が必要な場合もあります。詳細は、サーバーのドキュメントを参照してください。
この項では、OC4JへのCMPアプリケーションのデプロイ方法について説明します。
サーバー固有の構成に関する詳細は、第8章「TopLinkとアプリケーション・サーバーの統合」を参照してください。
オプションとして、11.7項「EJBのホット・デプロイの実行」も検討できます。
詳細は、『Oracle Fusion Middleware Administrator's Guide』を参照してください。
CMPアプリケーションをOC4Jへデプロイすると、次の処理が行われます。
OC4Jにより、Beanとその関連インタフェースに対して、部分的なEJB準拠チェックが実行されます。
OC4Jにより、セキュリティとトランザクションを管理する内部OC4Jクラスに加えて、Beanへのクライアント・アクセスを可能にするRMIスタブおよびスケルトンが作成されます。
TopLinkにより、Beanの具象サブクラスとEJBファインダ・メソッドの実装が作成されます。
WARファイルとJARファイルを作成した後、それらのファイルからデプロイ用のEARファイルを作成します。EARファイルをJava EEサーバーにデプロイするには、EARを通常使用されているディレクトリにコピーします。サーバー固有のデプロイ・ツールの使用が必要な場合もあります。詳細は、サーバーのドキュメントを参照してください。
サーバー固有の構成に関する詳細は、第8章「TopLinkとアプリケーション・サーバーの統合」を参照してください。
オプションとして、11.7項「EJBのホット・デプロイの実行」も検討できます。
多くのJava EEコンテナは、ホット・デプロイをサポートしています。これは、稼働中のサーバーへのEJBのデプロイを可能にする機能です。ホット・デプロイを使用すると、次のことを実行できます。
新たに開発したEJBを、稼働中の本番システムにデプロイする。
デプロイしたEJBを、稼働中のサーバーから削除(アンデプロイ)する。
Beanクラスの定義を更新することで、デプロイしたEJBの動作を変更(再デプロイ)する。
クライアントが、デプロイされていないBeanインスタンス、または再デプロイされたBeanインスタンスにアクセスしようとすると、デプロイ例外が発生します。クライアント・アプリケーションでは、例外を捕捉して処理する必要があります。
EJBのホット・デプロイを構成する方法は、デプロイしているJava EEアプリケーションのタイプに依存します。
CMPアプリケーション(11.7.1項「CMPアプリケーションでのホット・デプロイの実行方法」を参照)
POJOアプリケーション(11.7.2項「POJOアプリケーションでのホット・デプロイの実行方法」を参照)
ホット・デプロイの詳細は、Java EEコンテナのドキュメントを参照してください。
CMPアプリケーションでホット・デプロイを利用する際は、次の点に注意してください。
同じEJB JARファイル内のすべての関連Bean(共通のTopLinkプロジェクトを共有するすべてのBean)をデプロイする必要があります。TopLinkでは、デプロイがプロジェクト・レベルで把握されるため、一部ではなくすべてのプロジェクトBeanをデプロイして、プロジェクト全体での一貫性を維持します。
Beanを再デプロイすると、そのTopLinkプロジェクトは自動的にリセットされます。その結果、オブジェクト・キャッシュがすべてフラッシュされ、プロジェクトに関連するアクティブ・オブジェクト・トランザクションがロールバックされます。
POJOアプリケーションでホット・デプロイを利用する際は、SessionManager
メソッドgetSession
を該当する引数付きで使用して、TopLinkセッションをリフレッシュする必要があります(90.3.6項「クラス・ローダー変更時のセッションのリフレッシュ方法」を参照)。
このSessionManager
メソッドを使用しないでホット・デプロイ(またはホット再デプロイ)を行う場合、セッションの破棄またはリフレッシュは、アプリケーションで行う必要があります。