特集
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.
