←TopPage>[[eclipseで開発]]>[[J2EEしてみんとす>eclipseで開発/J2EE]]>EJB-Client作成
#navi([[eclipseで開発/J2EE]])

*EJB-Client作成
#contents
*はじめに

ここでは、eclipseでLombozを利用したJ2EEアプリケションの開発で、
EJB-JARの作成し、delpoyが終ったあとクライアントプログラムの
作成について解説したいと思います。

*EJB Clientの作成
**EJB Clientプロジェクトの作成

EJBのテストクライアントとしては、プロジェクトの構成は二つの方式が考えられます。

***J2EEと別のプロジェクトにする方法
ひとつは、Lombozのチュートリアルにあるように別のプロジェクトとする方法です。

普通のJavaProjectを作ります。
このときには、テストしたいJ2EEプロジェクトを「ビルド・パス上に必要なプロジェクト」 に指定しておきます。

***J2EEと同じプロジェクトに入れる

J2EEのプロジェクトにいれてしまう。
つぎでのservletの作成では、この方式です。

**EJB TEST clientを作成
 「ファイル」→「新規」→「Lomboz EJB TEST client wizard」
#ref(Client1.png)
:パッケージ名:test
:名前:SLSBclient
:EJB Home: test.SLSBHome
:EJB Interface: test.SLSB
:パッケージ名|test
:名前|SLSBclient
:EJB Home| test.SLSBHome
:EJB Interface| test.SLSB

を入力します。

EJB HomeとEJB Interfaceは、Browsでも探すことができます。
#ref(Client2.png)

**J2EE RIでLambozのEJB Clientを動かす方法
-deploy時にClient JARを作る。
-SLSBのJNDI名はSLSBBeanとする。

この<EAR名>Client.jarを、EJB Client Debug時のCLASSPATHに足す。

はじめは、クライアントクラスのprivate InitialContext getContext()メソッド
の中をJBOSSクライアントの真似して
 ----------------------J2EE RI
 props.put(InitialContext.INITIAL_CONTEXT_FACTORY,
           "com.sun.jndi.cosnaming.CNCtxFactory");
 props.put(InitialContext.PROVIDER_URL,
           "iiopname://localhost:1050");
 com.sun.corba.se.internal.javax.rmi.PortableRemoteObject
 ----------------------J2EE RI
なんて書いたけど、Client.jarが有ればいらない。
以下のようにSLSBClientクラスを追加します。
#ref(ClientDebug2.png)

あと、private biz.totsuka.TEST.SLSBHome getHome()で、lookup()してきた
HOME Objectを、narrowでなくてキャストしているのでダメかと思って
 return (biz.totsuka.TEST.SLSBHome) obj;
を
 return (biz.totsuka.TEST.SLSBHome)
         javax.rmi.PortableRemoteObject.narrow(obj,
                   biz.totsuka.TEST.SLSBHome.class);
と治したけどキャストのままでも問題無し。



*次は
「 [[../WAR作成]] 」で、JSP/Sevletからテストしてみましょう。

[[←もくじに戻る>../#index]]

#navi([[eclipseで開発/J2EE]])
←TopPage>[[eclipseで開発]]>[[J2EEみんとす>eclipseで開発/J2EE]]>EJB-Client作成

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS