에릭슨 (Erickson)은 지적했듯이 JNDI API는 provider for DNS using JNDI이며이 링크에서 읽을 수 있습니다. 작업 샘플 쿼리의 경우 _ldap._.tcp.mydomain.com
레코드는 this code from Hudson을 참조하십시오.
내가 DNS 제공자를 사용하기 전에, 당신은 (위의 허드슨 코드에서 수정)이 같은 뭔가를로드 할 필요가 있다고 생각 : 거기에서
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.dns.DnsContextFactory");
env.put("java.naming.provider.url", "dns:");
DirContext ctx = new InitialDirContext(env);
, 같은 것을 통해 SRV 레코드를 얻을 수 있습니다 :
Attributes attributes = ctx.getAttributes("_ldap._tcp.mydomain.com", new String[]{"SRV"});
Attribute a = attributes.get("SRV");
매우 간단한 AD 통합을 위해 두 개의 프로젝트에서 이와 같은 코드를 성공적으로 사용했습니다.