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

댓글 없음:

댓글 쓰기