JNDI 요약
2111 단어 JNDI
젠디 이거 뭐 하는 거예요?EJB, RMI-IIOP은 모두 그것으로 대상을 정한다. 먼저 대상을 한 이름으로 묶은 다음에 그 이름을 그 묶은 대상을 꺼내라.(이렇게 쓰자 나는 갑자기 내가 왜 JNDI에 관심을 가지는지 알게 되었다. 나는 요 며칠 동안 RMI, RMI-IIOP, EJB, CORBA, IDL 이런 것들을 계속 보았는데 왜 그런지 기억이 나지 않는다.)
이렇게 간단해.마치 슈퍼마켓 문 앞에 있는 저장함 같아. 가방을 먼저 보관하고 상자 번호가 적힌 바코드를 가져와서 물건을 사면 이 바코드를 스캔하면 물건을 꺼낼 수 있어.내가 여기에 쓴 것은 매우 정확하지 않다. 왜냐하면 세부 사항을 소홀히 했기 때문이다. 내가 받은 가방은 내가 넣은 가방(reference로 되돌아오기) 인가, 아니면 그 가방의 복제품(서열화) 인가, 아니면 가방처럼 보이는 무언가 (로컬 구조의 stub로 되돌아오기) 인가.
여기서 찾은 물건은provider와 관련이 있을 것입니다.실제로 RMI-IIOP 장면에서 로컬stub의 실례를 되돌려줍니다.
내가 오늘 할 말은JNDI란?그것은 사실 API이다.JNDI API(Java Naming and Directory Interface)의 두 부분으로 구성됩니다.
Application Programming Interface), 일부는 JNDI SPI(Java Naming and Directory Interface)
Service Provider Interface).전자는 외관이고 후자는 구체적으로 실현된다.provider를 보고 나는 많은 사람들이 십중팔구를 알게 되었다고 생각한다.이것이 바로 플러그인입니다. 보아하니 JNDI는 서로 다른 서비스를 지원하는 것 같습니다.
여기서부터에서 보실 수 있습니다. jdk1.4 이후 JNDI SPI에는 다음 네 개의 provider가 포함됩니다.
The LDAP Service Provider
The COS Naming Service Provider
The RMI Registry Service Provider
The DNS Service Provider
그래서 우리는 평소에 JNDI를 쓸 때 이렇게 쓴다.
Hashtable<String,String> props = new Hashtable<String,String>();
props.put("java.naming.factory.initial", "com.sun.jndi.cosnaming.CNCtxFactory");
props.put("java.naming.provider.url", "iiop://localhost:1050");
Context context = new InitialContext(props);
context.lookup("some service");
일련의 매개변수를 사용하여 InitialContext를 초기화합니다.사실 이곳은 의심할 여지없이 공장 모델이다. 들어오는java에 따라.naming.factory.initial에서 다른provider를 만듭니다.
EJB 컨테이너도 어느 정도 JNDI 서비스 provider입니다.그래야 내가 JNDI를 통해 EJB를 포착할 수 있잖아.
요약: JNDI는 두 부분으로 구성되어 있는데 그것이 바로 응용 프로그램 API와provider API이다.전자는 호출 인터페이스이고 후자는 서로 다른 서비스 제공자를 포장했다.여기에 한마디 더 덧붙여 말하자면, 그래도 서비스 프로그램이 시작된 후에야 JNDI를 사용할 수 있습니다.그럼 서비스 프로그램은 뭐예요?LDAP,COS,RMI,DNS야.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JNDI 요약오늘은 그 줄이 움직인 줄도 모르고 JNDI를 씹기 시작했다.문구에 구애받지 않는다고 말하는 것은 사실 겉만 번지르하고 깊이가 없다.독서 노트로 삼다. 젠디 이거 뭐 하는 거예요?EJB, RMI-IIOP은 모두 그것...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.