作成済みのEnterprise Beanから動作確認を行うためのクライアント(以降では、テストクライアントと呼びます)を生成し、各ビジネスメソッドの動作確認を行います。テストクライアントの生成方法およびテストの方法について説明します。ここでは、EJBテストクライアントをWebアプリケーションとして作成する場合を説明します。
ポイント
EJBにリモート接続するEJBテストクライアントを作成する場合は、Javaアプリケーションプロジェクトを作成して、EJBテストクライアントウィザードの[クライアント種別]で"Web"以外を指定してください。
LocalHome/Localインタフェースを含まないEJBのEJBテストクライアントでは、[クライアント種別]で"Web"を選択できません。
プロジェクトの作成
新規ウィザードから[Web] > [動的Webプロジェクト]を選択し、テストクライアント用のWebアプリケーションプロジェクトを作成します。
作成したWebアプリケーションプロジェクトを選択してコンテキストメニューの[プロパティ] > [Javaのビルドパス] > [プロジェクト]タブを選択し、テスト対象となるEnterprise Beanのプロジェクトを追加します。
EJBテストクライアントソースの作成
EJBテストクライアントソースは、[新規]ウィザードから[EJB] > [J2EE] > [EJBテストクライアント]を選択し、ウィザードで作成します。
ウィザードでの設定は、以下を参考にしてください。ここでは、Webアプリケーションとして、EJBテストクライアントを作成するため、[クライアント種別]では、"Web"を選択します。
ソースフォルダ
テストクライアントのソースを格納するフォルダを指定します。
パッケージ
テストクライアントのパッケージ名を指定します。生成するすべてのクラスで使用されます。
名前
テストクライアントのメインクラス名を指定します。
EJB JARファイル/EJBプロジェクト
動作確認を行うEnterprise Beanが含まれているEJB JARファイルのパスまたはプロジェクトを指定します。動作確認を行うEnterprise Beanは、Home/RemoteインタフェースまたはLocalHome/Localインタフェースを持つ必要があります。Message-driven Beanの場合は、インタフェースを持つ必要はありません。
EJBテストクライアント詳細情報
以下を参照してください。
項目 | 説明 | |
---|---|---|
Enterprise Beanテストクライアント生成リスト | EJB JARファイル内に含まれているEnterprise Beanの一覧が表示されます。[クライアント種別]の指定によって一覧に表示されるEnterprise Beanが切り替わります。 個々のEnterprise Beanについてテストクライアントを生成するかどうかはリストの左端にあるチェックボックスで指定します。 | |
Enterprise Bean名 | EJB JARファイル内のdeployment descriptorに記述されているEnterprise Bean名が表示されます。 [クライアント種別]の指定条件によって表示されるEnterprise Bean一覧が以下のように変わります。
| |
クラス名 | Enterprise Beanに対応するテストクライアントのクラス名を指定します。 Message-driven Beanの場合はEnterprise Bean単位にソースを生成しないため、指定する必要はありません。 | |
lookup ID | Session BeanやEntity Beanの場合は、Homeインタフェースを取得するためのlookup識別子を指定します。 Message-driven Beanの場合はDestinationを取得するためのlookup識別子を指定します。 | |
クライアント種別 | クライアント種別を指定します。 | |
EJB | deployment descriptorは作成しません。そのため、単純にEnterprise Beanを呼び出すだけで、クライアントからのトランザクション制御などは行えません。 | |
J2EE1.3 | deployment descriptorは作成しません。そのため、単純にEnterprise Beanを呼び出すだけで、クライアントからのトランザクション制御などは行えません。 | |
Web | Enterprise Beanを呼び出して結果を表示するServletクラスを生成します。 [ソースフォルダ]に指定したプロジェクトがWebアプリケーションの場合に選択可能となります。 |
ポイント
テストクライアントを開発するためには、テストするEnterprise Beanに含まれる以下のクラスが必要です。
[クライアント種別]が"EJB"または"J2EE1.3"の場合
Homeインタフェース、Remoteインタフェースクラス(必須)
[クライアント種別]が"Web"の場合
Localインタフェース、LocalHomeインタフェース(必須)
共通条件
Enterprise Beanの呼出しでパラメタや復帰値として受け渡す、ユーザ定義クラス(これらのクラスを使っている場合)
注意
EJB2.1アプリケーションはリモートでアクセスできないため、EJBテストクライアントウィザードの[クライアント種別]で[Web]を指定して、作成されたWebアプリケーションからLocalインタフェース経由でEJB2.1アプリケーションの動作確認をしてください。
Stateless Session BeanをWebサービス化したEnterprise Beanのテストクライアントの生成はできません。
クライアント種別でJ2EE1.3を選択した場合、J2EE1.3形式のdeployment descriptorが生成されますが、EJBテストクライアントを生成したdeployment descriptorを持つプロジェクトではエンタープライズアプリケーションプロジェクトに追加することはできません。
生成ファイルの編集
必要に応じて、ウィザードによって生成されたファイルを編集してください。
doGetメソッドに展開されたビジネスメソッドの呼び出し順序は、解析順序となっているため、正しい順序に並び替えてください。
メソッドパラメタに設定する値を確認してください。
配列の要素の値を取得したい場合は、出力処理を追加してください。
実行
テストするEJBアプリケーションと作成したWebアプリケーションをIJServerの種別が[WebアプリケーションとEJBアプリケーションを同一JavaVMで運用]のJ2EE実行環境に配備し、起動します。WebブラウザよりWebアプリケーションの動作確認をしてください。