Interstage Application Server J2EE ユーザーズガイド |
目次
索引
![]() ![]() |
第3部 EJB編 | > 第28章 Bean共通編 | > 28.1 クライアントアプリケーションを作成する |
EJBアプリケーション(Homeインタフェース)はlookup処理することで参照できます。
Apworksでクライアントアプリケーションの開発を行った場合、lookup処理のひな型をコンポーネントデザイナの入力テンプレート、またはApdesignerのテンプレートから入力できます(CMP1.1の場合)。コンポーネントデザイナまたはApdesigner、入力テンプレートおよびテンプレートの使用方法についての詳細は、Apworksの"Apdesigner プログラマーズガイド"または"コンポーネントデザイナ ユーザーズガイド"(注:Plus Developerでは提供していません)を参照してください。
EJBアプリケーションのlookupの方法は以下の2種類です。
クライアントアプリケーションの種別(指定するJNDIのサービスプロバイダ)によって、lookupで指定できる形式が異なります。また、名前変換機能の使用可否についても違います。
クライアントアプリケーションの種別については、”クライアントアプリケーションの実行”を参照してください。
J2EEアプリケーションクライアントの名前変換ファイルを使用する場合は、“名前変換ファイルの詳細設定”を参照してください。サーブレット/JSPの名前変換ファイルを使用する場合は、“名前変換定義ファイル”を参照してください。
以下に、クライアント種別ごとにlookupで指定できる形式と、名前変換機能の使用可否について示します。
クライアントアプリケーションの種別 |
EJBアプリケーションを直接指定 |
Enterprise Bean Environment形式で指定 |
名前変換機能の使用 |
EJBクライアントを使用したアプリケーション |
○ |
○ |
× |
J2EEアプリケーションクライアント |
○ |
○ |
○ |
サーブレット/JSP(※) |
× |
○ |
○ |
※詳細は、“JNDI SPの運用”を参照してください。
J2EEアプリケーションクライアントとサーブレット/JSPでEJBアプリケーションをlookupする場合は、deployment descriptorにejb-refタグを設定してください。
J2EEアプリケーションクライアントのdeployment descriptorの設定方法については、“Deployment descriptorファイルの詳細設定”を参照してください。
サーブレット/JSPのdeployment descriptorの設定方法については、“Webアプリケーション環境定義ファイル(deployment descriptor)”を参照してください。
EJBアプリケーションを直接指定する場合、EJBアプリケーションのlookup処理は、以下の形式で行ってください。
---------------------------------------------------------------------------------------
// InitialContext獲得 javax.naming.Context ic = new javax.naming.InitialContext( ); (1)
// lookup java.lang.Object Obj = (java.lang.Object)ic.lookup("SampleBean"); (2)
// homeのnarrow() SampleHome h = (SampleHome)javax.rmi.PortableRemoteObject.narrow( Obj, SampleHome.class); (3)
---------------------------------------------------------------------------------------
(1) lookupするためのContextを作成します。このとおりに記述してください。
(2) lookupを行います。引数にEJBアプリケーション名を指定してください。lookupに失敗した場合、javax.naming.NameNotFoundException例外が発生します。失敗の理由は当例外の詳細メッセージとして通知されます。
lookupに失敗したときの対処方法については、“トラブルシューティング集”の“EJBサービス使用時の異常”を参照してください。
(3) lookupしたオブジェクトをnarrowします。javax.rmi.PortableRemoteObject.narrowを発行してください。
EJBアプリケーションのlookupは、上記の形式以外にEnterprise Bean Environment形式でもできます。
Enterprise Bean Environment形式のlookup処理は以下の形式で行ってください。
参照するEJBアプリケーション名を以下の記述形式どおりに記述します。
--------------------------------------------------------------------------------------------------
// InitialContext獲得 javax.naming.Context ic = new javax.naming.InitialContext(); (1)
// lookup java.lang.Object Obj = (java.lang.Object)ic.lookup("java:comp/env/ejb/SampleBean"); (2)
// homeのnarrow() SampleHome h = (SampleHome)javax.rmi.PortableRemoteObject.narrow(Obj, SampleHome.class);(3)
--------------------------------------------------------------------------------------------------
(1) lookupするためのContextを作成します。このとおりに記述してください。
(2) 引数にEnterprise Bean Environment で規定された形式("java:comp/env/ejb/xxx")を指定してください。
“xxx”(例では“SampleBean”)にはEJBアプリケーション名を指定してください。
(3) lookupしたオブジェクトをnarrowします。javax.rmi.PortableRemoteObject.narrowを発行してください。
目次
索引
![]() ![]() |