Context

Context (컨텍스트)

이름-객체 바인딩 집합으로 구성되는 네이밍 컨텍스트를 나타내는 인터페이스입니다.

출처: Java API Reference

본문

Context 메서드에 인자로 전달되는 각 이름은 그 컨텍스트에 상대적이며, 빈 이름은 컨텍스트 자체를 가리킵니다. 이름 매개변수는 절대 null이 될 수 없습니다. 많은 메서드가 Name 매개변수를 받는 버전과 String을 받는 버전으로 오버로드되어 있으며, 두 버전은 동일한 이름의 다른 표현일 때 동일하게 동작합니다.

연방(federation)을 지원하는 시스템에서 Context 메서드의 String 이름 인자는 복합 이름이며, CompositeName 인스턴스가 아닌 Name 인자는 복합 이름으로 취급됩니다. 이 인터페이스의 모든 메서드는 NamingException이나 그 하위 클래스를 던질 수 있습니다.

Context 인스턴스는 다중 스레드의 동시 접근에 대해 동기화가 보장되지 않으므로, 하나의 Context에 동시에 접근해야 하는 스레드들은 스스로 동기화하고 잠금을 제공해야 합니다. 각각 다른 Context 인스턴스를 다루는 스레드는 동기화할 필요가 없습니다.

JNDI 애플리케이션은 네이밍/디렉토리 서비스에 접근하는 환경을 정의하는 다양한 환경 속성을 전달해야 합니다. Context 인터페이스는 이 환경을 검색·갱신하는 메서드를 제공하며, 환경은 부모 컨텍스트에서 상속됩니다. 환경 속성의 사용·검증 시기는 구현에 따라 다릅니다.

환경 설정을 단순화하기 위해 애플리케이션 컴포넌트와 서비스 프로바이더는 리소스 파일과 함께 배포될 수 있습니다. JNDI 리소스 파일은 프로퍼티 파일 형식으로 키/값 쌍 목록을 담고 있습니다. 크게 프로바이더 리소스 파일(jndiprovider.properties)과 애플리케이션 리소스 파일(jndi.properties) 두 종류가 있습니다. jndi.properties는 클래스패스에서 모두 찾아져 초기 컨텍스트의 환경에 병합됩니다.

더 알아보기 (Learn more)

Java 공식 API