特集
2004/03/25 18:00 更新
特集:第3回 JBossのインストールから基本的な使い方まで (6/8)
EJBを利用するスタンドアロンアプリケーションを作る
では次に、EJBを利用するクライアントを作ってみよう。
今回は、動作原理が分かりやすいスタンドアロンアプリケーションを作ることにする。EJBを利用するスタンドアロンアプリケーションの例は、List 6のようになる。
List 6■スタンドアロンアプリケーションの例import javax.naming.*; import java.rmi.*; import javax.ejb.*; import javax.rmi.PortableRemoteObject; import example.ejb.*; public class ClientTest { public static void main(String args[]) { SampleHome sampleHome; try { // JNDIを使ってホームインタフェースを得る Context ctx = new InitialContext(); Object obj = ctx.lookup("/MyEJB/Sample"); sampleHome = (SampleHome)PortableRemoteObject.narrow(obj , SampleHome.class); } catch (NamingException e) { System.out.println(e.toString()); return; } // createメソッドを呼び出して // EJBObjectオブジェクトを得る Sample sample; try { sample = sampleHome.create(); } catch (CreateException e) { System.out.println(e.toString()); return; } catch (RemoteException e) { System.out.println(e.toString()); return; } // ビジネスロジックのメソッドを呼び出す try { int a, b, result; a = 10; b = 20; result = sample.addData(a, b); System.out.println(a + "+" + b + "=" + result); } catch (RemoteException e) { System.out.println(e.toString()); } sample = null; } } |
JNDI検索後にホームオブジェクトを取得する
Enterprise Beanを使う場合、最初の手順は、JNDIを検索してホームオブジェクトを得ることになる。JNDIから検索してホームオブジェクトを得るには、まず、次のように、InitialContextオブジェクトを作り、lookupメソッドを呼び出す。
この時、lookupメソッドの引数に与えるのは、先に設定したEnterprise BeanのJNDI名だ。
Context ctx = new InitialContext(); Object obj = ctx.lookup("/MyEJB/Sample"); |
|
lookupメソッドの戻り値を得たならば、PortableRemoteObjectクラスのnarrowメソッドを呼び出し、適切な型にキャストする。今回は、ホームインタフェースは、SampleHomeインタフェースとして実装しているので、SampleHomeインタフェースにキャストすればよい。
sampleHome = (SampleHome)PortableRemoteObject.narrow(obj, SampleHome.class); |
前のページ | 1 2 3 4 5 6 7 8 | 次のページ
[大澤文孝,ITmedia]
Copyright © ITmedia, Inc. All Rights Reserved.