2012-07-03 3 views
1

JNDI는 문자열 이름에서 데이터 또는 객체를 검색/저장하는 수단입니다. 이 기능은 응용 프로그램을 실행하는 컨테이너에서 제공합니다.Spring에서 ApplicationContext가 해결하지 못한 JNDI 문제는 어떤 것이 있습니까?

ApplicationContext은 문자열 이름에서 빈을 작성하고 검색 할 수 있습니다.

두 가지 모두 비슷한 필요를 제공합니다. 그러나 Spring은 JNDI에서 객체를 검색하는 방법을 제공합니다. 하나는 JndiTemplate을 통해 JNDI에 액세스 할 수 있습니다.

Spring에서 JNDI를 사용해야 할 필요가 있습니까? ApplicationContext은 어떤 문제를 해결합니까?

답변

4

응용 프로그램 컨텍스트는 REMOTE 개체를 찾는 데 도움이되지 않습니다. 현재 응용 프로그램에서 원격이 아닌 오브젝트 만 찾습니다.

다음 "Context.PROVIDER_URL"을 참조하십시오. EJB 나 RMI, JMS 등과 같은 REMOTE 객체에 액세스 할 수 있습니다. 또한 DataSource와 같은 Java EE Container가 관리하는 모든 리소스에 액세스 할 수 있습니다.

ht.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory"); 
ht.put(Context.PROVIDER_URL,"t3://HOSTNAME:PORT"); 
3

범위의 문제입니다. Spring의 범위는 컨테이너 내부의 애플리케이션에만 국한된다. JNDI는 다양한 이름 지정/디렉토리 구조에 연결할 수있는 전역 이름 지정 API입니다.