Spec-Zone.ru › OpenJDK 27

Интерфейс Registry

Все суперинтерфейсы:
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, может использовать имя пакета в качестве префикса привязки, чтобы снизить вероятность конфликтов имен в реестре.

С:
1.1
См. также:
  • LocateRegistry

Краткое описание полей

Модификатор и тип Поле Описание
static final 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 — если этот реестр является локальным и запрещает вызывающей стороне выполнять эту операцию

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры основных понятий, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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