Enterprise JavaBeansの実行およびテスト

EJBをテストするには、EJBインスタンスを作成または検索し、そのリモート・インタフェース・メソッドをコールできるクライアント・プログラムを実行する必要があります。JDeveloperには、迅速にクライアントを作成できるサンプル・クライアント・ユーティリティが用意されています。EJBの実行およびテストには、埋込みOC4Jサーバーまたはリモート・サーバーを使用しますが、どちらの場合にもサンプル・クライアント・ユーティリティを使用してクライアントを作成できます(サンプル・クライアントを作成するためには、EJBがリモート・インタフェースを持つ必要があります)。

埋込みサーバーの構成情報を変更するには、埋込みサーバーのoc4j-configディレクトリにある対応するファイルを変更する必要があります。

埋込みOC4Jサーバーを使用したEJBのテスト

埋込みOC4Jサーバーは、JDeveloper内で稼働します。このサーバーを使用すると、EJBの迅速かつ簡単な実行およびテストが可能であり、何の変更も加えずにそのEJBをデプロイできます。このサーバーを使用する場合、デプロイメント・プロファイルは不要で、初期化の必要もありません。

埋込みOC4Jサーバーを使用してサンプル・クライアントを実行するには、次のようにします。

  1. システム・ナビゲータでEJBモジュールを右クリックし、「実行」を選択します。
    メッセージ・ペインで、OC4Jが起動されたことを確認します。
  2. EJBを右クリックし、ポップアップ・メニューから「サンプルJavaクライアントの作成」を選択します。
  3. デフォルトで、埋込みOC4Jサーバーに対してクライアントを作成するオプションが選択されているので、「OK」をクリックします。
    クライアントが作成され、コード・エディタで開かれます。
  4. CMP EJBに対するクライアントの場合は、取得したインスタンスを反復してプロパティ値をSystem.outに出力するfindAll()メソッドをコールするコードが生成されます。それ以外の場合は、必要なホーム・メソッドおよびリモート・メソッドをコールするようにサンプル・コードを編集してください。
  5. システム・ナビゲータで、サンプル・クライアントを右クリックし、「実行」を選択します。
    実行結果は、ログ・ウィンドウに表示されます。

リモート・サーバーを使用したEJBのテスト

リモート・サーバー上でEJBをテストするには、EJBをデプロイしてからサンプル・クライアントを作成する必要があります。(最初にデプロイを行うと、デプロイされたアプリケーションがフレームワークによって取得され、それがクライアントの選択リストに移入されます。)

同じモジュールで、CMP 1.1とCMP 2.0のBeanを組み合せることはできません。

リモート・サーバーを使用してサンプル・クライアントを実行するには、次のようにします。

  1. 使用しているアプリケーション・サーバーを起動します。
  2. システム・ナビゲータで、プロジェクト・ノードを右クリックし、「新規」を選択します。
  3. 「新規」ダイアログ・ボックスで、「General」->「Deployment Profiles」カテゴリをクリックし、「EJB JARファイル - J2EE EJBモジュール」を選択します。
    システム・ナビゲータに、新規のデプロイメント・プロファイルが表示されます。
  4. デプロイメント・プロファイルを右クリックし、「デプロイ先」->「接続の作成」を選択します。
  5. ダイアログ・ボックスで、使用するアプリケーション・サーバーを指定します。(デフォルトでは、JDeveloperに同梱されるOC4Jが選択されています。)「OK」をクリックします。
  6. システム・ナビゲータで、デプロイメント・プロファイルを右クリックし、「<named connection>にデプロイ」を選択します。
  7. システム・ナビゲータでEJBモジュールを右クリックし、「サンプルJavaクライアントの作成」を選択します。
  8. ダイアログ・ボックスで、「リモート・アプリケーション・サーバーに接続」を選択します。コンボ・ボックスで、リストからデプロイ済のJ2EEアプリケーションを選択します。
  9. 「OK」をクリックします。
    クライアントが作成され、システム・ナビゲータに表示されます。
  10. クライアントを右クリックし、「実行」を選択します。
    実行結果は、ログ・ウィンドウに表示されます。

関連項目

JDeveloperにより生成されるEJBファイルについて
エンティティBeanへのユーザー・インタフェースのバインド