JNDI 캐싱

JNDI(Java™ Naming and Directory Interface) 조작 성능을 향상시키기 위해 제품 JNDI 구현은 캐싱을 사용하여 검색 조작을 위한 이름 서버에 대한 원격 호출 수를 줄입니다. 대부분의 경우, 기본 캐시 설정을 사용하십시오.

InitialContext 오브젝트의 인스턴스가 작성되면, InitialContext 인스턴스와 캐시 사이에 연관이 설정됩니다. 초기 컨텍스트와 초기 컨텍스트 검색에서 직접 또는 간접적으로 리턴된 모든 컨텍스트는 동일한 캐시 인스턴스와 모두 연관됩니다. 기본적으로, 연관은 제공자 URL(특히 호스트 이름 및 포트)을 기반으로 합니다. 호출자는 이 기본 작동을 대체할 캐시 이름을 지정할 수 있습니다. 지정된 이름의 캐시 인스턴스는 동일한 컨텍스트 클래스 로더가 적용되어 작성된 이름의 캐시를 사용하도록 구성된 InitialContext의 모든 인스턴스가 공유합니다. 동일한 서버에서 실행 중인 두 개의 엔터프라이즈 Bean(EJB) 애플리케이션은 다른 컨텍스트 클래스 로더를 사용 중인 경우 자체 캐시 인스턴스를 사용하며 캐시 이름이 동일한 경우에도 마찬가지입니다.

InitialContext 인스턴스와 캐시 사이의 연관이 설정된 후에는 연관이 변경되지 않습니다. 검색 조작에서 리턴된 javax.naming.Context 오브젝트는 검색이 수행된 컨텍스트 오브젝트의 캐시 연관을 상속 받습니다. Context.addToEnvironment() 또는 Context.removeFromEnvironment() 메소드로 캐시 특성 값 변경은 캐시 동작에 영향을 주지 않습니다. 주어진 캐시 인스턴스에 영향을 주는 특성은 각 InitialContext 인스턴스화를 통해 변경할 수 있습니다.

캐시는 프로세스로 제한되고 프로세스의 수명이 끝나면 캐시도 더 이상 지속되지 않습니다. 캐시된 오브젝트는 해당 캐시의 최대 캐시 수명에 도달하거나 해당 오브젝트의 캐시 항목에 대한 최대 항목 수명에 도달하게 되면 검색 조작으로부터 리턴됩니다. 이 시점 이후, 오브젝트 검색으로 해당 오브젝트에 대한 캐시 항목이 새로 고쳐집니다. 기본적으로 캐시와 캐시 항목의 수명은 무제한입니다.

일반적으로 캐시된 오브젝트는 상대적으로 정적인 엔티티이며 오래된 오브젝트는 문제가 되지 않습니다. 그렇지만 캐시 컨텐츠가 주기적으로 새로 고쳐지도록 캐시 항목이나 캐시에 제한시간 값을 설정할 수 있습니다.

바인드 또는 리바인드 조작이 오브젝트에 대해 실행되는 경우, 변경사항은 바인드 또는 리바인드가 발행되는 컨텍스트와 연관되는 캐시 이외의 다른 캐시에는 반영되지 않습니다. 이 시나리오는 여러 프로세스가 개입될 때 발생할 확률이 가장 높은데, 이는 서로 다른 프로세스가 동일한 캐시를 공유하지 않고 일반적으로 프로세스에 있는 모든 스레드의 컨텍스트 오브젝트가 해당 이름 서비스 제공자의 동일한 캐시 인스턴스를 공유하기 때문입니다.


주제 유형을 표시하는 아이콘 개념 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cnam_naming_caching
파일 이름:cnam_naming_caching.html