Именование классов
public final class Naming extends Object
Naming предоставляет методы для сохранения и получения ссылок на удалённые объекты в реестре удалённых объектов. Каждый метод класса Naming принимает в качестве одного из аргументов имя, которое является java.lang.String в формате URL (без компонента схемы) следующего вида: //host:port/name
где host — узел (удалённый или локальный), на котором находится реестр, port — номер порта, на котором реестр принимает вызовы, а name — простая строка, интерпретация которой реестру неизвестна. И host, и port являются необязательными. Если host не указано, по умолчанию используется локальный узел. Если port не указано, по умолчанию используется порт 1099 — «общеизвестный» порт, используемый реестром RMI rmiregistry.
Привязка имени к удалённому объекту означает связывание или регистрацию имени удалённого объекта, которое впоследствии можно использовать для поиска этого объекта. Удалённый объект можно связать с именем с помощью методов bind или rebind класса Naming.
После регистрации (привязки) удалённого объекта в реестре RMI на локальном узле вызывающие стороны на удалённом (или локальном) узле могут найти удалённый объект по имени, получить ссылку на него, а затем вызывать удалённые методы этого объекта. Реестр может использоваться всеми серверами, работающими на узле, или отдельный процесс сервера может при необходимости создать и использовать собственный реестр (подробности см. в методе java.rmi.registry.LocateRegistry.createRegistry).
- Начиная с:
- 1.1
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static void |
bind |
Привязывает указанное name к удалённому объекту. |
static String[] |
list |
Возвращает массив имён, привязанных в реестре. |
static Remote |
lookup |
Возвращает ссылку — заглушку для удалённого объекта, связанного с указанным name. |
static void |
rebind |
Повторно привязывает указанное имя к новому удалённому объекту. |
static void |
unbind |
Удаляет привязку указанного имени, связанного с удалённым объектом. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли какой-либо другой объект этому объекту. |
protected void |
finalize() |
Устарело, подлежит удалению: этот элемент API может быть удалён в будущей версии. Финализация устарела и может быть удалена в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо истечения определённого времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо истечения определённого времени. |
Подробное описание методов
lookup
public static Remote lookup(String name) throws NotBoundException, MalformedURLException, RemoteException
name.- Параметры:
-
name— имя в формате URL (без компонента схемы) - Возвращает:
- ссылку на удалённый объект
- Исключения:
-
NotBoundException— если имя в данный момент не привязано -
RemoteException— если не удалось связаться с реестром -
AccessException— если эта операция не разрешена -
MalformedURLException— если имя не является URL с надлежащим форматом - Начиная с:
- 1.1
bind
public static void bind(String name, Remote obj) throws AlreadyBoundException, MalformedURLException, RemoteException
name к удалённому объекту.- Параметры:
-
name— имя в формате URL (без компонента схемы) -
obj— ссылка на удалённый объект (обычно заглушка) - Исключения:
-
AlreadyBoundException— если имя уже привязано -
MalformedURLException— если имя не является URL с надлежащим форматом -
RemoteException— если не удалось связаться с реестром -
AccessException— если эта операция не разрешена (например, если вызов выполнен с нелокального узла) - Начиная с:
- 1.1
unbind
public static void unbind(String name) throws RemoteException, NotBoundException, MalformedURLException
- Параметры:
-
name— имя в формате URL (без компонента схемы) - Исключения:
-
NotBoundException— если имя в данный момент не привязано -
MalformedURLException— если имя не является URL с надлежащим форматом -
RemoteException— если не удалось связаться с реестром -
AccessException— если эта операция не разрешена (например, если вызов выполнен с нелокального узла) - Начиная с:
- 1.1
rebind
public static void rebind(String name, Remote obj) throws RemoteException, MalformedURLException
- Параметры:
-
name— имя в формате URL (без компонента схемы) -
obj— новый удалённый объект, связываемый с именем - Исключения:
-
MalformedURLException— если имя не является URL с надлежащим форматом -
RemoteException— если не удалось связаться с реестром -
AccessException— если эта операция не разрешена (например, если вызов выполнен с нелокального узла) - Начиная с:
- 1.1
list
public static String[] list(String name) throws RemoteException, MalformedURLException
- Параметры:
-
name— имя реестра в формате URL (без компонента схемы) - Возвращает:
- массив имён (в соответствующем формате), привязанных в реестре
- Исключения:
-
MalformedURLException— если имя не является URL с надлежащим форматом -
RemoteException— если не удалось связаться с реестром. - Начиная с:
- 1.1
© 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.