統一 API 存取各種命名/目錄服務 (LDAP, DNS, NIS 等)。兩組介面:
bind(name, obj):建立綁定lookup(name):查找物件rebind(name, obj):覆蓋綁定unbind(name):移除綁定Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.apusic.jndi.InitialContextFactory");
env.put(Context.PROVIDER_URL, "rmi://localhost:6888");
env.put(Context.SECURITY_PRINCIPAL, null);
env.put(Context.SECURITY_CREDENTIALS, null);
Context ctx = new InitialContext(env);
AccountHome home = (AccountHome) ctx.lookup("CMAccountHome");
參數說明:
INITIAL_CONTEXT_FACTORY:JNDI 實作廠商類別PROVIDER_URL:命名服務提供者 URLSECURITY_PRINCIPAL/CREDENTIALS:認證資訊透過 JNDI 實現資源位置透明化,程式碼不依賴具體機器名稱/位置,部署調整只需更新目錄服務。