JavaTM Platform
Standard Ed. 6

java.rmi.registry
인터페이스 Registry

모든 슈퍼 인터페이스:
Remote


public interface Registry
extends Remote

Registry 는, 단순한 원격 객체 레지스트리에 대한 원격 인터페이스로, 임의의 캐릭터 라인명에 바인드 된 원격 객체 참조를 포함 및 취득하기 위한 메소드를 제공합니다. bind,unbind, 및 rebind 메소드는, 레지스트리내의 네임 바인딩을 변경할 경우에 사용해,lookuplist 메소드는, 현재의 네임 바인딩을 조회할 경우에 사용합니다.

Registry 는 일반적으로, RMI 클라이언트의 bootstrap를 유효하게 합니다. 클라이언트는, 원격 객체에의 초기 참조를 기동시에 가져옵니다. 이 때문에, 레지스트리의 원격 객체 구현은 일반적으로, 기존의 주소 (기존의 ObjID 등) 및 TCP 포트 번호 (디폴트는 1099 )와 함께 export 됩니다.

LocateRegistry 클래스에서는, 원격 주소에 있는 Registry 에의 bootstrap 참조를 구축하는 API (static getRegistry 메소드를 참조)와 현재의 VM 에 Registry 를 작성해 특정의 로컬 주소에 export 하는 API (static createRegistry 메소드를 참조)를 이용할 수 있습니다.

Registry 의 구현에서는, 일부 또는 모든 메소드에 대한 액세스를 제한할 수 있습니다. 예를 들어, 레지스트리의 바인딩을 변경하는 메소드는, 로컬 호스트로부터의 호출에 제한할 수 있습니다. Registry 메소드가 특정의 호출의 액세스를 거부했을 경우, 그 구현에 의해 AccessException 가 throw 되는 일이 있습니다. 이 예외는 RemoteException 의 확장이기 (위해)때문에, 원격 클라이언트에 캐치 되면(자) ServerException 에 랩 됩니다.

Registry 로 바인딩에 사용하는 이름은, 순수한 캐릭터 라인으로, 해석되지 않습니다. Registry 에 서비스에의 원격 참조를 포함할 때는, 레지스트리내에서의 이름의 충돌을 줄이기 위해서(때문에), 네임 바인딩의 접두사로서 패키지명을 사용하는 것을 추천합니다.

도입된 버젼:
JDK1. 1
관련 항목:
LocateRegistry

필드의 개요
static int REGISTRY_PORT
          레지스트리에 자주(잘) 사용되는 포트입니다.
 
메소드의 개요
 void bind (String  name, Remote  obj)
          이 레지스트리내의 특정의 name 에 원격 참조를 바인드 합니다.
 String [] list ()
          이 레지스트리내에 바인드 된 이름의 배열을 돌려줍니다.
 Remote lookup (String  name)
          이 레지스트리내의 특정의 name 에 바인드 되고 있는 원격 참조를 돌려줍니다.
 void rebind (String  name, Remote  obj)
          이 레지스트리내의 특정의 name 에의 바인딩을 특정의 원격 참조에 옮겨놓습니다.
 void unbind (String  name)
          이 레지스트리의 특정의 name 에의 바인딩을 삭제합니다.
 

필드의 상세

REGISTRY_PORT

static final int REGISTRY_PORT
레지스트리에 자주(잘) 사용되는 포트입니다.

관련 항목:
정수 필드치
메소드의 상세

lookup

Remote  lookup(String  name)
              throws RemoteException ,
                     NotBoundException ,
                     AccessException 
이 레지스트리내의 특정의 name 에 바인드 되고 있는 원격 참조를 돌려줍니다.

파라미터:
name - 검색하는 원격 참조의 이름
반환값:
원격 객체에의 참조
예외:
NotBoundException - name 가 바인드되어 있지 않은 경우
RemoteException - 레지스트리와의 원격 통신에 실패했을 경우. AccessException 를 포함한다 ServerException 예외의 경우, 레지스트리는 이 조작을 실행하는 호출측 액세스를 거부한다
AccessException - 로컬 레지스트리가 이 조작을 실행한다 호출측 액세스를 거부했을 경우
NullPointerException - namenull 의 경우

bind

void bind(String  name,
          Remote  obj)
          throws RemoteException ,
                 AlreadyBoundException ,
                 AccessException 
이 레지스트리내의 특정의 name 에 원격 참조를 바인드 합니다.

파라미터:
name - 원격 참조에 관련짓는 이름
obj - 원격 객체에의 참조 (일반적으로은 Stub)
예외:
AlreadyBoundException - name 가 벌써 바인드 되고 있는 경우
RemoteException - 레지스트리와의 원격 통신에 실패했을 경우. AccessException 을 포함한다 ServerException 예외의 경우, 레지스트리는 이 조작을 실행하는 호출측 액세스를 거부한다 (로컬이 아닌 호스트로부터 조작하려고 했을 경우 등)
AccessException - 로컬 레지스트리가 이 조작을 실행한다 호출측 액세스를 거부했을 경우
NullPointerException - namenull, 또는 objnull 의 경우

unbind

void unbind(String  name)
            throws RemoteException ,
                   NotBoundException ,
                   AccessException 
이 레지스트리의 특정의 name 에의 바인딩을 삭제합니다.

파라미터:
name - 삭제하는 바인딩의 이름
예외:
NotBoundException - name 가 바인드되어 있지 않은 경우
RemoteException - 레지스트리와의 원격 통신에 실패했을 경우. AccessException 를 포함한다 ServerException 예외의 경우, 레지스트리는 이 조작을 실행하는 호출측 액세스를 거부한다 (로컬이 아닌 호스트로부터 조작하려고 했을 경우 등)
AccessException - 로컬 레지스트리가 이 조작을 실행한다 호출측 액세스를 거부했을 경우
NullPointerException - namenull 의 경우

rebind

void rebind(String  name,
            Remote  obj)
            throws RemoteException ,
                   AccessException 
이 레지스트리내의 특정의 name 에의 바인딩을 특정의 원격 참조에 옮겨놓습니다. 그 name 에 벌써 바인딩이 설정되어 있는 경우는, 파기됩니다.

파라미터:
name - 원격 참조에 관련짓는 이름
obj - 원격 객체에의 참조 (일반적으로은 Stub)
예외:
RemoteException - 레지스트리와의 원격 통신에 실패했을 경우. AccessException 를 포함한다 ServerException 예외의 경우, 레지스트리는 이 조작을 실행하는 호출측 액세스를 거부한다 (로컬이 아닌 호스트로부터 조작하려고 했을 경우 등)
AccessException - 로컬 레지스트리가 이 조작을 실행한다 호출측 액세스를 거부했을 경우
NullPointerException - namenull, 또는 objnull 의 경우

list

String [] list()
              throws RemoteException ,
                     AccessException 
이 레지스트리내에 바인드 된 이름의 배열을 돌려줍니다. 배열에는, 이 메소드를 호출한 시점에서 레지스트리내에 바인드 되고 있는 이름의 snapshot가 포함됩니다.

반환값:
이 레지스트리내에 바인드 된 이름의 배열
예외:
RemoteException - 레지스트리와의 원격 통신에 실패했을 경우. AccessException 를 포함한다 ServerException 예외의 경우, 레지스트리는 이 조작을 실행하는 호출측 액세스를 거부한다
AccessException - 로컬 레지스트리가 이 조작을 실행한다 호출측 액세스를 거부했을 경우

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.