ルックアップの基本
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/06/15 09:22 UTC 版)
「Java Naming and Directory Interface」の記事における「ルックアップの基本」の解説
JNDIは名前を階層構造で管理している。名前はどのような文字列でもよい(例:"com.mydomain.ejb.MyBean")。Nameインターフェースを実装したオブジェクトを名前にすることも可能だが、文字列を使用する方が一般的である。ある名前に対応するオブジェクト、あるいはオブジェクトへの参照を、名前と一緒にディレクトリ・サービスに格納 (bind) することで、名前とオブジェクトが関連付けられる。 JNDI APIはオブジェクトを探す場所(これをコンテクストという)の指定方法も規定している。 典型的なルックアップ処理では、まず最初に初期コンテクストを取得する。もっとも単純なケースで言うと、特定の実装と、その実装が要求するパラメータを指定して、初期コンテクストを生成する。初期コンテクストはディレクトリツリーやファイルシステムにおけるルートディレクトリのようなもので、初期コンテクストに対して名前のルックアップを行う。以下は、初期コンテクスト生成の例である。 Hashtable args = new Hashtable();// 最初にコンテクストファクトリーを指定する。// JBossの実装やサンの実装、あるいは全く別のベンダーの実装などの中から// どれを選ぶかという動作に相当する。args.put( Context.INITIAL_CONTEXT_FACTORY, "com.jndiprovider.TheirContextFactory");// 次に、データ保存場所のURLを指定する。args.put( Context.PROVIDER_URL, "http://jndiprovider-database" );// ここでなんらかの認証が必要な場合もある。// 次に、初期コンテクストを生成する。Context myCurrentContext = new InitialContext( args ); いったん初期コンテクストが取得できると、それに対して名前と結び付けられたオブジェクトをルックアップできる。 Object reference = myCurrentContext.lookup( "com.mydomain.MyBean" );// EJBの場合、次の手順でナローイングが必要。MyBean myBean = (MyBean) PortableRemoteObject.narrow( reference, MyBean.class );
※この「ルックアップの基本」の解説は、「Java Naming and Directory Interface」の解説の一部です。
「ルックアップの基本」を含む「Java Naming and Directory Interface」の記事については、「Java Naming and Directory Interface」の概要を参照ください。
- ルックアップの基本のページへのリンク