2013년 7월 29일 월요일

JAVA JNDI를 이용한 DNS 서비스 구현(JAVA JNDI DNS)

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

댓글 없음:

댓글 쓰기