ヘッダーをスキップ
Oracle TopLink開発者ガイド
10g(10.1.3.1.0)
B31861-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

10 TopLinkアプリケーションのデプロイ

この章では、次のTopLinkアプリケーションについてのデプロイ情報について説明します。

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

Javaアプリケーション

JARファイルを作成し(「Javaアプリケーション」を参照)、クラスパスに配置します。

クライアント・アプリケーションからのTopLinkへのアクセスに関する詳細は、第75章「実行時のセッションの取得と使用」を参照してください。

JavaServer Pagesおよびサーブレット

WARファイルとJARファイル(「JavaServer Pagesおよびサーブレット・アプリケーション」を参照)を作成した後、それらのファイルからデプロイ用のEARファイルを作成します。EARをJSPサーブレット・サーバーにデプロイするには、EARを既知のディレクトリにコピーします。サーバー固有のデプロイ・ツールの使用が必要な場合もあります。詳細は、サーバーのドキュメントを参照してください。

クライアント・アプリケーションからのTopLinkへのアクセスに関する詳細は、「代替クラス・ローダーによるsessions.xmlからのセッションのロード」を参照してください。

セッションBeanアプリケーション

WARファイルとJARファイル(「セッションBeanアプリケーション」を参照)を作成した後、それらのファイルからデプロイ用のEARファイルを作成します。EARファイルをJ2EEサーバーにデプロイするには、EARを通常使用されているディレクトリにコピーします。サーバー固有のデプロイ・ツールの使用が必要な場合もあります。詳細は、サーバーのドキュメントを参照してください。

クライアント・アプリケーションからのTopLinkへのアクセスに関する詳細は、「代替クラス・ローダーによるsessions.xmlからのセッションのロード」を参照してください。

オプションとして、「EJBのホット・デプロイ」も検討できます。

CMPアプリケーション

WARファイルとJARファイル(「CMPアプリケーション」を参照)を作成した後、それらのファイルからデプロイ用のEARファイルを作成します。EARファイルをJ2EEサーバーにデプロイするには、EARを通常使用されているディレクトリにコピーします。サーバー固有のデプロイ・ツールの使用が必要な場合もあります。詳細は、サーバーのドキュメントを参照してください。

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

サーバー固有の構成に関する詳細は、第7章「TopLinkとアプリケーション・サーバーの統合」を参照してください。

オプションとして、「EJBのホット・デプロイ」も検討できます。

OC4JへのCMPアプリケーションのデプロイ

CMPアプリケーションをOC4Jにデプロイする最も効率的な方法は、Oracle Enterprise Manager 10gを使用することです。詳細は、『Oracle Application Server管理者ガイド』を参照してください。

CMPアプリケーションをOC4Jへデプロイすると、次の処理が行われます。

  • OC4Jにより、Beanとその関連インタフェースに対して、部分的なEJB準拠チェックが実行されます。

  • OC4Jにより、セキュリティとトランザクションを管理する内部OC4Jクラスに加えて、Beanへのクライアント・アクセスを可能にするRMIスタブおよびスケルトンが作成されます。

  • TopLinkにより、Beanの具象サブクラスとEJBファインダ・メソッドの実装が作成されます。

BEA WebLogic ServerへのCMPアプリケーションのデプロイ

TopLinkでのCMPサポートにより、BEA WebLogic Serverが統合されます。TopLinkのCMPをBEA WebLogicエンティティBeanに対して有効にするには、次のように、WebLogicのEJBコンパイラ(ejbc)を使用してEJB JARファイルをコンパイルします。

  • コマンドラインからejbcを実行します。EJB JARファイルをコマンドライン引数として指定します。ejbcにより、元のクラスと必要な生成済クラスおよびファイルをすべて含むEJB JARファイルが作成されます。

ejbcを実行すると、次の処理が行われます。

  • ejbcにより、Beanとその関連インタフェースに対して、部分的なEJB準拠チェックが実行されます。

  • ejbcにより、セキュリティとトランザクションを管理する内部BEA WebLogicクラスに加えて、Beanへのクライアント・アクセスを可能にするRMIスタブおよびスケルトンが作成されます。

  • TopLinkにより、Beanの具象サブクラスとEJBファインダ・メソッドの実装が作成されます。

ejbcの実行の詳細は、BEA WebLogic Serverのドキュメントを参照してください。

ejbcのトラブルシューティング

ejbcを起動すると、段階的にデータが処理されます。ejbcの実行中にエラーが発生した場合、どの段階が問題の原因になったかを特定してください。よくある問題を次に示します。

  • BeanのクラスがEJBの仕様に準拠していない。

  • クラスパスにクラスがない(すべてのドメイン・クラス、必要なTopLinkクラス、およびすべての必要なBEA WebLogicクラスがクラスパスに存在している必要があります)。

  • Javaコンパイラ(javac)での問題の発生。多くの場合、誤ったバージョンのJDKを使用したことが原因です。

  • RMIスタブおよびスケルトンの生成の失敗(RMIコンパイラ(rmic)の失敗)。

詳細は、第15章「アプリケーション・デプロイのトラブルシューティング」を参照してください。

IBM WebSphere Application Server 4.0へのCMPアプリケーションのデプロイ

TopLinkでのCMPサポートにより、IBM WebSphere Application Server 4.0が統合されます。アプリケーションをWebSphere Application Serverにデプロイするには、次の手順に従います。

  1. TopLinkのWebSphere用デプロイ・ツールを使用して、EJB JARファイルをコンパイルします。詳細は、「WebSphereデプロイ・ツールの使用」を参照してください。

  2. WebSphere Application Serverを起動します。

  3. 管理コンソールを起動し、コンパイル済のJARをデプロイします。

JARファイルのデプロイの詳細は、IBM WebSphere Application Serverのドキュメントを参照してください。


注意:

エンティティBeanを含むアプリケーションをデプロイする場合、データ・ソースを設定してBeanに関連付けます。データ・ソースの作成および関連付けの方法の詳細は、IBM WebSphere Application Serverのドキュメントを参照してください。

デプロイはデプロイ・ツールを使用して実行するため、WebSphere Studio Application Developer(WSAD)でEJB JARファイルをデプロイする必要はありません(「WebSphereデプロイ・ツールの使用」を参照)。

エンティティBeanの起動

WebSphere Application ServerとWSADのどちらでもBeanを起動できます。

IBM WebSphere Application ServerでBeanを起動する手順:

  1. エンティティBeanを含むアプリケーションを選択します。

  2. 右クリックして「Start」を選択します。

Beanが正常に起動されると、メッセージ・ダイアログ・ボックスが表示されます。エラーが発生した場合は、第V部「TopLinkアプリケーションのトラブルシューティング」のトラブルシューティングの情報を参照してください。

WSADでBeanを起動する手順:

  1. EJBプロジェクトを右クリックして「Run on Server」を選択します。

  2. プロセスのステータスを表示するには、サーバー表示の「Console」タブを開きます。

BMPアプリケーション

WARファイルとJARファイルを作成した後、それらのファイルからデプロイ用のEARファイルを作成します。EARファイルをJ2EEサーバーにデプロイするには、EARを通常使用されているディレクトリにコピーします。サーバー固有のデプロイ・ツールの使用が必要な場合もあります。詳細は、サーバーのドキュメントを参照してください。

サーバー固有の構成に関する詳細は、第7章「TopLinkとアプリケーション・サーバーの統合」を参照してください。

オプションとして、「EJBのホット・デプロイ」も検討できます。

EJBのホット・デプロイ

多くのJ2EEコンテナは、ホット・デプロイをサポートしています。これは、稼働中のサーバーへのEJBのデプロイを可能にする機能です。ホット・デプロイを使用すると、次のことを実行できます。

クライアントが、デプロイされていないBeanインスタンス、または再デプロイされたBeanインスタンスにアクセスしようとすると、デプロイ例外が発生します。クライアント・アプリケーションでは、例外を捕捉して処理する必要があります。

EJBのホット・デプロイを構成する方法は、デプロイしているJ2EEアプリケーションのタイプに依存します。

ホット・デプロイの詳細は、J2EEコンテナのドキュメントを参照してください。

CMPアプリケーションでのホット・デプロイ

CMPアプリケーションでホット・デプロイを利用する際は、次の点に注意してください。

  • 同じEJB JARファイル内のすべての関連Bean(共通のTopLinkプロジェクトを共有するすべてのBean)をデプロイする必要があります。TopLinkでは、デプロイがプロジェクト・レベルで把握されるため、一部ではなくすべてのプロジェクトBeanをデプロイして、プロジェクト全体での一貫性を維持します。

  • Beanを再デプロイすると、そのTopLinkプロジェクトは自動的にリセットされます。その結果、オブジェクト・キャッシュがすべてフラッシュされ、プロジェクトに関連するアクティブ・オブジェクト・トランザクションがロールバックされます。

CMPではないアプリケーションでのホット・デプロイ

CMPではないアプリケーションでホット・デプロイを利用する際は、SessionManagerメソッドのgetSessionを該当する引数付きで使用して、TopLinkセッションをリフレッシュする必要があります(「クラス・ローダー変更時のセッションのリフレッシュ」を参照)。

このSessionManagerメソッドを使用しないでホット・デプロイ(またはホット再デプロイ)を行う場合、セッションの破棄またはリフレッシュは、アプリケーションで行う必要があります。

WebSphereデプロイ・ツールの使用

TopLinkのIBM WebSphere Server統合には、プロジェクトをWebSphere Application Serverにデプロイするためのデプロイ・ツールが含まれています。WebSphere用デプロイ・ツールは、WebSphereへのプロジェクトのデプロイをより簡単に構成して実行できる、グラフィカル・ツールです。このデプロイ・ツールには、ツールのグラフィカルなインタフェース要素を使用せずにプロジェクトをデプロイするためのコマンドライン・オプションも付属しています。

デプロイ・ツールは単独で(「デプロイ・ツールの単独使用」を参照)または、WebSphere Studio Application Developer(「デプロイ・ツールとWebSphere Studio Application Developerの併用」を参照)とともに使用できます。

デプロイ・ツールの単独使用

JARファイルをデプロイするには、次の手順を実行します。

  1. 該当する<TOPLINK_HOME>/bin/wasDeployToolスクリプトを実行してWebSphereデプロイ・ツールを起動します。Windowsでは、wasDeployTool.cmdを実行し、UNIXではwasDeployTool.shを実行します。

    WebSphereデプロイ・ツールのダイアログ・ボックスが表示されます(図10-1を参照)。

    図10-1 WSADと併用するためのデプロイ・ツールの設定

    図10-1の説明が続きます
    「図10-1 WSADと併用するためのデプロイ・ツールの設定」の説明

  2. 「Copy generated source to directory」オプションを有効にして、生成されたコードのコピーを指定のディレクトリに保存します。これは、WSADプロジェクトの作業ディレクトリにファイルをコピーするための簡単で効率的な方法です。

  3. プロセスの詳細を表示するには、「Turn on tracing」オプションを有効にします。

  4. 「Deploy EJB Jar」をクリックします。

デプロイ・ツールとWebSphere Studio Application Developerの併用

デプロイ・ツールは、WSADと互換性があります。

デプロイ・ツールからWSADへデプロイする手順:

  1. WSADでEJBプロジェクトを選択し、デプロイおよびRMICコードの生成を選択します。

  2. EJBプロジェクトをEJB JARファイルにエクスポートします。このとき、TopLinkプロジェクトとtoplink-ejb-jar.xmlファイルを必ずEJB JARファイルに含めます。

  3. 該当する<TOPLINK_HOME>/bin/wasDeployToolスクリプトを実行してWebSphereデプロイ・ツールを起動します。Windowsでは、wasDeployTool.cmdを実行し、UNIXではwasDeployTool.shを実行します。

    WebSphereデプロイ・ツールのダイアログが表示されます(図10-1を参照)。

  4. WSADのデプロイ・コードがTopLinkのデプロイ・コードで上書きされるように、EJBプロジェクトの作業ディレクトリを選択します。

  5. ソースがWSAD EJBプロジェクト・ディレクトリ以外のディレクトリにコピーされた場合は、プロジェクトのejbModuleディレクトリにあるWSAD EJBプロジェクトにソース・ファイルを手動でコピーします。

  6. デプロイ・ツールのフィールドに適切なディレクトリを入力します。

  7. 「Deploy EJB JAR」を選択し、デプロイ済のEJB JARファイルを作成します。

  8. 「プロジェクト」メニューから「Rebuild all」を選択し、デプロイ・コードをコンパイルしてCMPを組み込みます。

トラブルシューティング

デプロイ・ツールの使用時に発生する最も一般的なエラーは、NoClassDefFoundError例外です。このエラー条件を解決するには、必要なリソースをクラスパスに追加します。「Turn on tracing」オプションも、デプロイ・コード生成中のエラーをデバッグする際に役立ちます。

スタブ生成フェーズで不明なエラーが発生した場合、Javaコマンドをコピーしてコマンド・プロンプトで実行します。そうすると、より詳細なエラー・メッセージが得られます。

詳細は、第7章「TopLinkとアプリケーション・サーバーの統合」を参照してください。