←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作成