Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface Registry extends Remote
Registry
удаленный интерфейс к простому реестру удаленного объекта, который обеспечивает методы для хранения и получения ссылок удаленного объекта, связанных с произвольными названиями строк. bind
, unbind
, и rebind
методы используются, чтобы изменить привязку имени в реестре, и lookup
и list
методы используются, чтобы запросить текущую привязку имени. В его типичном использовании, a Registry
включает клиенту RMI, загружающемуся: это предоставляет простое средство клиенту получить начальную ссылку на удаленный объект. Поэтому, реализация удаленного объекта реестра обычно экспортируется с известным адресом, такой как с известным ObjID
и номер порта TCP (значение по умолчанию 1099
).
LocateRegistry
class обеспечивает программируемый API для того, чтобы он создал ссылку начальной загрузки на a Registry
в удаленном адресе (см. помехи getRegistry
методы) и для создания и экспорта a Registry
в текущем VM на определенном локальном адресе (см. помехи createRegistry
методы).
A Registry
реализация может хотеть ограничивать доступ к некоторым или всем его методам (например, методы, которые видоизменяют привязку реестра, могут быть ограничены вызовам, происходящим из локального узла). Если a Registry
метод хочет лишать доступа для данного вызова, его реализация может бросить AccessException
, который (потому что это расширяется RemoteException
) будет обернут в a ServerException
когда поймано удаленным клиентом.
Имена используются для привязки в a Registry
чистые строки, не проанализированные. Служба, которая хранит ее удаленную ссылку в a Registry
может хотеть использовать имя пакета в качестве префикса в привязке имени, чтобы уменьшить вероятность коллизий имени в реестре.
LocateRegistry
Модификатор и Тип | Поле и Описание |
---|---|
static int |
REGISTRY_PORT
Стандартный порт для реестра.
|
Модификатор и Тип | Метод и Описание |
---|---|
void |
bind(String name, Remote obj)
Связывает удаленную ссылку на указанное
name в этом реестре. |
Строка[] |
list()
Возвращает массив имен, связанных в этом реестре.
|
Удаленный |
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
- если удаленная передача с реестром перестала работать; если исключение является a ServerException
содержа AccessException
, тогда реестр лишает, что доступ вызывающей стороны выполняет эту работуAccessException
- если этот реестр локален, и он лишает, что доступ вызывающей стороны выполняет эту работуNullPointerException
- если name
null
void bind(String name, Remote obj) throws RemoteException, AlreadyBoundException, AccessException
name
в этом реестре.name
- имя, чтобы связаться с удаленной ссылкойobj
- ссылка на удаленный объект (обычно тупик)AlreadyBoundException
- если name
уже связываетсяRemoteException
- если удаленная передача с реестром перестала работать; если исключение является a ServerException
содержа AccessException
, тогда реестр лишает, что доступ вызывающей стороны выполняет эту работу (происходя из нелокального узла, например)AccessException
- если этот реестр локален, и он лишает, что доступ вызывающей стороны выполняет эту работуNullPointerException
- если name
null
, или если obj
null
void unbind(String name) throws RemoteException, NotBoundException, AccessException
name
в этом реестре.name
- имя привязки, чтобы удалитьNotBoundException
- если name
в настоящий момент не связываетсяRemoteException
- если удаленная передача с реестром перестала работать; если исключение является a ServerException
содержа AccessException
, тогда реестр лишает, что доступ вызывающей стороны выполняет эту работу (происходя из нелокального узла, например)AccessException
- если этот реестр локален, и он лишает, что доступ вызывающей стороны выполняет эту работуNullPointerException
- если name
null
void rebind(String name, Remote obj) throws RemoteException, AccessException
name
в этом реестре с предоставленной удаленной ссылкой. Если есть существующая привязка для указанного name
, это отбрасывается.name
- имя, чтобы связаться с удаленной ссылкойobj
- ссылка на удаленный объект (обычно тупик)RemoteException
- если удаленная передача с реестром перестала работать; если исключение является a ServerException
содержа AccessException
, тогда реестр лишает, что доступ вызывающей стороны выполняет эту работу (происходя из нелокального узла, например)AccessException
- если этот реестр локален, и он лишает, что доступ вызывающей стороны выполняет эту работуNullPointerException
- если name
null
, или если obj
null
String[] list() throws RemoteException, AccessException
RemoteException
- если удаленная передача с реестром перестала работать; если исключение является a ServerException
содержа AccessException
, тогда реестр лишает, что доступ вызывающей стороны выполняет эту работуAccessException
- если этот реестр локален, и он лишает, что доступ вызывающей стороны выполняет эту работу
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92