|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
public interface Registry
Registry
는, 단순한 원격 객체 레지스트리에 대한 원격 인터페이스로, 임의의 캐릭터 라인명에 바인드 된 원격 객체 참조를 포함 및 취득하기 위한 메소드를 제공합니다. bind
,unbind
, 및 rebind
메소드는, 레지스트리내의 네임 바인딩을 변경할 경우에 사용해,lookup
및 list
메소드는, 현재의 네임 바인딩을 조회할 경우에 사용합니다.
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
에 서비스에의 원격 참조를 포함할 때는, 레지스트리내에서의 이름의 충돌을 줄이기 위해서(때문에), 네임 바인딩의 접두사로서 패키지명을 사용하는 것을 추천합니다.
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 에의 바인딩을 삭제합니다. |
필드의 상세 |
---|
static final int REGISTRY_PORT
메소드의 상세 |
---|
Remote lookup(String name) throws RemoteException , NotBoundException , AccessException
name
에 바인드 되고 있는 원격 참조를 돌려줍니다.
name
- 검색하는 원격 참조의 이름
NotBoundException
- name
가 바인드되어 있지 않은 경우
RemoteException
- 레지스트리와의 원격 통신에 실패했을 경우.
AccessException
를 포함한다
ServerException
예외의 경우,
레지스트리는 이 조작을 실행하는 호출측 액세스를 거부한다
AccessException
- 로컬 레지스트리가 이 조작을 실행한다
호출측 액세스를 거부했을 경우
NullPointerException
- name
가 null
의 경우void bind(String name, Remote obj) throws RemoteException , AlreadyBoundException , AccessException
name
에 원격 참조를 바인드 합니다.
name
- 원격 참조에 관련짓는 이름obj
- 원격 객체에의 참조 (일반적으로은 Stub)
AlreadyBoundException
- name
가 벌써 바인드 되고 있는 경우
RemoteException
- 레지스트리와의 원격 통신에 실패했을 경우.
AccessException
을 포함한다
ServerException
예외의 경우,
레지스트리는 이 조작을 실행하는 호출측 액세스를 거부한다
(로컬이 아닌 호스트로부터 조작하려고 했을 경우 등)
AccessException
- 로컬 레지스트리가 이 조작을 실행한다
호출측 액세스를 거부했을 경우
NullPointerException
- name
가 null
,
또는 obj
가 null
의 경우void unbind(String name) throws RemoteException , NotBoundException , AccessException
name
에의 바인딩을 삭제합니다.
name
- 삭제하는 바인딩의 이름
NotBoundException
- name
가 바인드되어 있지 않은 경우
RemoteException
- 레지스트리와의 원격 통신에 실패했을 경우.
AccessException
를 포함한다
ServerException
예외의 경우,
레지스트리는 이 조작을 실행하는 호출측 액세스를 거부한다
(로컬이 아닌 호스트로부터 조작하려고 했을 경우 등)
AccessException
- 로컬 레지스트리가 이 조작을 실행한다
호출측 액세스를 거부했을 경우
NullPointerException
- name
가 null
의 경우void rebind(String name, Remote obj) throws RemoteException , AccessException
name
에의 바인딩을 특정의 원격 참조에 옮겨놓습니다. 그 name
에 벌써 바인딩이 설정되어 있는 경우는, 파기됩니다.
name
- 원격 참조에 관련짓는 이름obj
- 원격 객체에의 참조 (일반적으로은 Stub)
RemoteException
- 레지스트리와의 원격 통신에 실패했을 경우.
AccessException
를 포함한다
ServerException
예외의 경우,
레지스트리는 이 조작을 실행하는 호출측 액세스를 거부한다
(로컬이 아닌 호스트로부터 조작하려고 했을 경우 등)
AccessException
- 로컬 레지스트리가 이 조작을 실행한다
호출측 액세스를 거부했을 경우
NullPointerException
- name
가 null
,
또는 obj
가 null
의 경우String [] list() throws RemoteException , AccessException
RemoteException
- 레지스트리와의 원격 통신에 실패했을 경우.
AccessException
를 포함한다
ServerException
예외의 경우,
레지스트리는 이 조작을 실행하는 호출측 액세스를 거부한다
AccessException
- 로컬 레지스트리가 이 조작을 실행한다
호출측 액세스를 거부했을 경우
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.