Класс Naming
- java.lang.Object
- java.rmi.Naming
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.
Связывание имени с удалённым объектом — это ассоциирование или регистрация имени для удалённого объекта, которое может быть использовано впоследствии для поиска этого удалённого объекта. Удалённый объект может быть связан с именем с помощью методов класса Naming: bind или rebind.
После регистрации (связывания) удалённого объекта в реестре RMI на локальном хосте, вызывающие программы на удалённом (или локальном) хосте могут найти удалённый объект по имени, получить его ссылку и затем вызвать удалённые методы на объекте. Реестр может быть общим для всех серверов, работающих на хосте, или отдельный серверный процесс может создать и использовать свой собственный реестр, если это необходимо (см. метод java.rmi.registry.LocateRegistry.createRegistry для подробностей).
- С момента:
- 1.1
- См. также:
-
Registry,LocateRegistry,LocateRegistry.createRegistry(int)
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
static void | bind(String name,
Remote obj) | Связывает указанное |
static String[] | list(String name) | Возвращает массив имён, связанных в реестре. |
static Remote | lookup(String name) | Возвращает ссылку, «заглушку», для удалённого объекта, связанного с указанным |
static void | rebind(String name,
Remote obj) | Пересвязывает указанное имя с новым удалённым объектом. |
static void | unbind(String name) | Уничтожает связь для указанного имени, связанного с удалённым объектом. |
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, 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Возвращает массив имён, связанных в реестре. Имена являются строками в формате URL (без компоненты схемы). Массив содержит моментальный снимок имён, присутствующих в реестре на момент вызова.
- Параметры:
-
name— имя реестра в формате URL (без компоненты схемы) - Возвращает:
- массив имён (в соответствующем формате), связанных в реестре
- Исключения:
-
MalformedURLException— если имя не является правильно отформатированным URL -
RemoteException— если реестр не может быть достигнут. - С момента:
- 1.1
© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.rmi/java/rmi/Naming.html