JNDI를
이용한 DNS 서비스 구현
ㅓ
오라클자바커뮤니티에서 설립한
오엔제이프로그래밍 실무교육센터
(오라클SQL, 튜닝,
힌트,자바프레임워크, 안드로이드, 아이폰, 닷넷 실무전문 강의)
즉 자바
응용 프로그램이 어느 위치에 있든지 필요한 자바 객체들을 검색할 수 있는 것입니다. EJB
환경에서는 JNDI를 이용해 EJB Home
객체를 얻어낸 후 이를 이용해 Java Beans 객체를 생성하거나 접근하게
됩니다.
JNDI는 DNS(Domain Name System), COS(Common
Object Services) 등의 네이밍 서비스 표준과 LDAP(Lightweight
Directory Access Protocol), NDS(NetWare Directory Service), NIS(Netware
Information System) 등 API를 제공 합니다.
참고로
JDK1.4 부터는 JNDI 서비스 프로바이더에 DNS Service Provoder를 제공하여 DNS 서비스를
통해 네이밍 서비스를 받을 수 있도록 지원 했는데 아래는 그 예제 입니다.
/*
* Created on 2005.
1. 9
*
* TODO To change
the template for this generated file go to
* Window -
Preferences - Java - Code Style - Code Templates
*/
/**
* @author
이종철
*
* TODO To change
the template for this generated type comment go to
* Window -
Preferences - Java - Code Style - Code Templates
*/
import java.util.Hashtable;
import javax.naming.directory.*;
import javax.naming.NamingEnumeration;
public class SimpleDNS {
public
static void main(String[] args) {
Hashtable h = new Hashtable();
h.put("java.naming.factory.initial","com.sun.jndi.dns.DnsContextFactory");
h.put("java.naming.provider.url","dns://ns.dacom.co.kr");
try {
//DirContext 초기화
DirContext context = new InitialDirContext(h);
//DNS질의 결과를 받아 오자...
Attributes attribute =
context.getAttributes("onjprogramming.co.kr");
//질의 결과 출력
NamingEnumeration ne = attribute.getAll();
System.out.println("onjprogramming.co.kr -->
");
while(ne.hasMoreElements()) {
System.out.println(ne.next());
}
}
catch(Exception e) {
e.printStackTrace();
}
}
}
[결과]
onjprogramming.co.kr -->
NS: ns1.gabia.co.kr., ns.gabia.net.,
ns.gabia.co.kr.
www.oraclejavacommunity.cop.kr
댓글 없음:
댓글 쓰기