Spec-Zone.ru › OpenJDK 8

Интерфейс реестра

Все суперинтерфейсы:
Remote

public interface Registry
extends Remote

Registry — это удаленный интерфейс простого удаленного объекта реестра, который предоставляет методы для хранения и извлечения ссылок на удаленные объекты, связанных с произвольными строковыми именами. Методы bind, unbind, и rebind используются для изменения связей имен в реестре, а методы lookup и list используются для запроса текущих связей имен.

В типичном использовании Registry позволяет осуществлять загрузку RMI-клиента: он предоставляет простой способ для клиента получить начальную ссылку на удаленный объект. Поэтому реализация удаленного объекта реестра обычно экспортируется с известным адресом, например, с известным ObjID и номером порта TCP (по умолчанию 1099).

Класс LocateRegistry предоставляет программный API для построения ссылки на загрузку Registry по удаленному адресу (см. статические методы getRegistry) и для создания и экспорта Registry в текущей виртуальной машине по определенному локальному адресу (см. статические методы createRegistry).

Реализация Registry может выбрать ограничение доступа к некоторым или всем своим методам (например, методы, которые изменяют связи реестра, могут быть ограничены вызовами, исходящими из локального узла). Если метод Registry выбирает отказ в доступе для данного вызова, его реализация может бросить исключение AccessException, которое (поскольку оно расширяет 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 - если удалённая связь с реестром не удалась; если исключение является ServerException, содержащим AccessException, то реестр отказывается предоставить вызывающему лицу доступ для выполнения этой операции
AccessException - если этот реестр локальный и он отказывается предоставить вызывающему лицу доступ для выполнения этой операции
NullPointerException - если name является null

bind

void bind(String name,
          Remote obj)
   throws RemoteException,
          AlreadyBoundException,
          AccessException

Связывает удалённую ссылку с указанным name в этом реестре.

Параметры:
name - имя, которое следует связать с удалённой ссылкой
obj - ссылка на удалённый объект (обычно заглушка)
Исключения:
AlreadyBoundException - если name уже привязано
RemoteException - если удалённая связь с реестром не удалась; если исключение является ServerException содержащим AccessException, то реестр отказывается предоставить вызывающему лицу доступ для выполнения этой операции (например, если она исходит с нелокального хоста)
AccessException - если этот реестр локальный и он отказывается предоставить вызывающему лицу доступ для выполнения этой операции
NullPointerException - если name является null, или если obj является null

unbind

void unbind(String name)
     throws RemoteException,
            NotBoundException,
            AccessException

Удаляет привязку для указанного name в этом реестре.

Параметры:
name - имя привязки для удаления
Исключения:
NotBoundException - если name в настоящее время не привязано
RemoteException - если удалённая связь с реестром не удалась; если исключение является ServerException содержащим AccessException, то реестр отказывается предоставить вызывающему лицу доступ для выполнения этой операции (например, если она исходит с нелокального хоста)
AccessException - если этот реестр локальный и он отказывается предоставить вызывающему лицу доступ для выполнения этой операции
NullPointerException - если name является null

rebind

void rebind(String name,
            Remote obj)
     throws RemoteException,
            AccessException

Заменяет привязку для указанного name в этом реестре предоставленной удаленной ссылкой. Если существует существующая привязка для указанного name, она отбрасывается.

Параметры:
name - имя, которое следует связать с удалённой ссылкой
obj - ссылка на удалённый объект (обычно заглушка)
Исключения:
RemoteException - если удалённая связь с реестром не удалась; если исключение является ServerException, содержащим AccessException, то реестр отказывается предоставить вызывающему лицу доступ для выполнения этой операции (если она исходит с нелокального хоста)
AccessException - если этот реестр локальный и он отказывается предоставить вызывающему лицу доступ для выполнения этой операции
NullPointerException - если name является null, или если obj является null

list

String[] list()
       throws RemoteException,
              AccessException

Возвращает массив имён, связанных в этом реестре. Массив будет содержать моментальное изображение имён, связанных в этом реестре на момент вызова данного метода.

Возвращает:
массив имён, связанных в этом реестре
Исключения:
RemoteException - если удалённая связь с реестром не удалась; если исключение является ServerException, содержащим AccessException, то реестр отказывается предоставить вызывающему лицу доступ для выполнения этой операции
AccessException - если этот реестр локальный и он отказывается предоставить вызывающему лицу доступ для выполнения этой операции

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API