Интерфейс RemoteRef
- Все суперинтерфейсы:
-
Externalizable,Serializable
- Все известные дочерние интерфейсы:
ServerRef
public interface RemoteRef extends Externalizable
RemoteRef представляет собой дескриптор удалённого объекта. RemoteStub использует удалённую ссылку для выполнения удалённого вызова метода удалённому объекту.- С:
- 1.1
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final String |
packagePrefix |
Инициализирует префикс пакета сервера: предполагает, что реализация классов серверных ссылок (например, UnicastRef, UnicastServerRef) находится в пакете, определённом префиксом. |
static final long |
serialVersionUID |
Устарело. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
done |
Устарело. Схемы заглушек 1.2 больше не используют этот метод. |
String |
getRefClass |
Возвращает имя класса типа ссылки, который должен быть сериализован в поток 'out'. |
Object |
invoke |
Вызов метода. |
void |
invoke |
Устарело. Схемы заглушек 1.2 больше не используют этот метод. |
RemoteCall |
newCall |
Устарело. Схемы заглушек 1.2 больше не используют этот метод. |
boolean |
remoteEquals |
Сравнивает два удалённых объекта на равенство. |
int |
remoteHashCode() |
Возвращает хеш-код удалённого объекта. |
String |
remoteToString() |
Возвращает строку, представляющую ссылку на этот удалённый объект. |
Методы, объявленные в интерфейсе java.io.Externalizable
readExternal, writeExternal
Подробное описание полей
serialVersionUID
@Deprecated static final long serialVersionUID
Устарело.
Поле
serialVersionUID в интерфейсе неэффективно. Не использовать; замены нет.указывает на совместимость с JDK 1.1.x версией класса.
- См. также:
packagePrefix
static final String packagePrefix
Инициализирует префикс пакета сервера: предполагается, что реализация классов ссылок сервера (например, UnicastRef, UnicastServerRef) находится в пакете, определённом префиксом.
- См. также:
Подробное описание методов
invoke
Object invoke(Remote obj, Method method, Object[] params, long opnum) throws Exception
Вызывает метод. Этот вид делегирования вызова метода ссылке позволяет ссылке позаботиться о настройке соединения с удалённым узлом, сериализации представления метода и параметров, а затем передать вызов метода на удалённый узел. Этот метод возвращает результат вызова метода на удалённом объекте, находящемся на удалённом узле, или выбрасывает RemoteException, если вызов завершился неудачно, или исключение прикладного уровня, если удалённый вызов выбросил исключение.
- Параметры:
-
obj- объект, содержащий RemoteRef (например, RemoteStub для объекта). -
method- вызываемый метод -
params- список параметров -
opnum- хэш, который может быть использован для представления метода - Возвращает:
- результат вызова удалённого метода
- Выбрасывает:
-
Exception- если во время удалённого вызова метода возникает какое-либо исключение - Начиная с:
- 1.2
newCall
@Deprecated RemoteCall newCall(RemoteObject obj, Operation[] op, int opnum, long hash) throws RemoteException
Устарело.
Заглушки стиля 1.2 больше не используют этот метод. Вместо использования последовательности вызовов методов на удалённой ссылке заглушки (
newCall, invoke и done), заглушка использует один метод invoke(Remote, Method, Object[],
int) на удалённой ссылке для выполнения сериализации параметров, выполнения удалённого метода и десериализации возвращаемого значения.Создаёт соответствующий объект вызова для нового удалённого вызова метода на этом объекте. Передача массива операций и индекса позволяет генератору заглушек назначать индексы операций и интерпретировать их. Удалённой ссылке может потребоваться операция для кодирования в вызове.
- Параметры:
-
obj- удалённая заглушка, через которую выполняется вызов -
op- массив операций заглушки -
opnum- номер операции -
hash- хэш интерфейса заглушки/скелета - Возвращает:
- объект вызова, представляющий удалённый вызов
- Выбрасывает:
-
RemoteException- если не удалось инициировать новый удалённый вызов - Начиная с:
- 1.1
- См. также:
invoke
@Deprecated void invoke(RemoteCall call) throws Exception
Устарело.
Заглушки стиля 1.2 больше не используют этот метод. Вместо использования последовательности вызовов методов к удалённой ссылке (
newCall, invoke и done), заглушка использует один метод invoke(Remote, Method, Object[],
int) на удалённой ссылке для выполнения сериализации параметров, выполнения удалённого метода и десериализации возвращаемого значения.Выполняет удалённый вызов. Invoke выбросит любые "пользовательские" исключения, которые должны быть переданы, а не перехвачены заглушкой. Если во время удалённого вызова возникнет какое-либо исключение, invoke должен позаботиться о закрытии соединения до выброса "пользовательского" или удалённого исключения.
- Параметры:
-
call- объект, представляющий удалённый вызов - Выбрасывает:
-
Exception- если во время удалённого метода возникает какое-либо исключение - Начиная с:
- 1.1
- См. также:
done
@Deprecated void done(RemoteCall call) throws RemoteException
Устарело.
Заглушки стиля 1.2 больше не используют этот метод. Вместо использования последовательности вызовов методов к удалённой ссылке (
newCall, invoke и done), заглушка использует один метод invoke(Remote, Method, Object[],
int) на удалённой ссылке для выполнения сериализации параметров, выполнения удалённого метода и десериализации возвращаемого значения.Позволяет удалённой ссылке очистить (или повторно использовать) соединение. Done должен вызываться только в том случае, если invoke успешно возвращает управление заглушке (без исключения).
- Параметры:
-
call- объект, представляющий удалённый вызов - Выбрасывает:
-
RemoteException- если во время очистки вызова возникает ошибка на удалённом узле - Начиная с:
- 1.1
- См. также:
getRefClass
String getRefClass(ObjectOutput out)
Возвращает имя класса типа ref, который должен быть сериализован в поток 'out'.
- Параметры:
-
out- поток вывода, в который будет сериализована ссылка - Возвращает:
- имя класса (без квалификации пакета) типа ссылки
- Начиная с:
- 1.1
remoteHashCode
int remoteHashCode()
Возвращает хэш-код для удалённого объекта. Две заглушки удалённых объектов, которые ссылаются на один и тот же удалённый объект, будут иметь одинаковый хэш-код (для поддержки удалённых объектов в качестве ключей в хэш-таблицах).
- Возвращает:
- хэш-код удалённого объекта
- Начиная с:
- 1.1
- См. также:
remoteEquals
boolean remoteEquals(RemoteRef obj)
Сравнивает два удалённых объекта на равенство. Возвращает boolean, указывающий, эквивалентен ли этот удалённый объект указанному объекту. Этот метод используется, когда удалённый объект хранится в хэш-таблице.
- Параметры:
-
obj- объект для сравнения - Возвращает:
- true, если эти объекты равны; иначе false.
- Начиная с:
- 1.1
- См. также:
remoteToString
String remoteToString()
Возвращает строку, представляющую ссылку на этот удалённый объект.
- Возвращает:
- строка, представляющая ссылку на удалённый объект
- Начиная с:
- 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.rmi/java/rmi/server/RemoteRef.html
serialVersionUIDв интерфейсе неэффективно.