Java Naming and Directory Interface


Java Naming and Directory InterfaceJNDI (discover)  (lookup) APIJava APIJNDIJNDI (SPI) 

背景

編集

Java RMIJakarta EEJNDI API使JiniJNDI使

JNDI API







LDAPLDAP

SPI

LDAP

DNS

NIS

RMI

CORBA



JNDI1997310[1]1.2J2SE 1.3Java SE

ルックアップの基本

編集

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 );

検索

編集

「ディレクトリ」とよばれる特殊なエントリには、属性を付与することができる。ディレクトリでは、属性を指定してオブジェクトを検索できる。ディレクトリはコンテクストの一種であるが、その名前空間は、ファイルシステム内のディレクトリ構造のようにある程度限定されている。

外部リンク

編集