로컬 또는 원격 인터페이스를 사용하여 조회 할 서비스 (EJB)가 있습니다. 우리가 의도적으로 그런 일을하도록 내버려두면 잠재적으로 하나 이상의 구현을 발견 할 수 있을지는 중요하지 않습니다.클래스 별 JNDI 조회
우리는 EJB 컨테이너에 직접 액세스 할 수 없으므로 JNDI 조회를 사용해야합니다.
현재 우리는 Context#listBindings("")
을 사용하여 컨텍스트를 반복하고 각 바인딩에서 반환 된 객체가 컨텍스트 (재귀 호출이라고 부르는 경우)인지 또는 우리가 찾고있는 인터페이스에 할당 될 수 있는지를 확인합니다 - 그 경우 우리는 끝났어.
그러나 내가 수행 한 모든 하위 컨텍스트 (큰 응용 프로그램에서는 상당히 많을 수도 있음)에 대해 list("")
을 호출해야하므로이 작업을 수행하면 전체 조회가 발생할 수 있습니다.
그래서 하나의 호출 (또는 통화의 정의 수)에 JNDI에서 클래스를 기반으로 검색을 할 수있는 방법은 무엇입니까?
, BTW 우리는 그래서 우리는 자바 EE 6 JNDI 구현에 액세스 할 수없는 보스 4.2.3.GA에이 일을하고 있습니다.
나는 현재하고 사람들을 찾아보십시오 이름을 캐싱하고있어 실패 할 경우 나는 캐시에서 그 이름을 제거하고 그 나 또한 잠시 동안 옵션 3을 사용하는 옵션 2 것, 그래서 다시 검색 컨테이너를 검색하고 필요한 서비스를 검색하는 Bean을 검색하지만 해당 컨테이너를 획득하는 것은 JBoss에만 해당됩니다 (버전에 따라 다를 수도 있음). 따라서이를 피하고 싶습니다. 나는 그 힌트를 주셔서 감사합니다. – Thomas