Интерфейс 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() |
Возвращает строку, представляющую ссылку на этот удалённый объект. |
Методы, объявленные в интерфейсе 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)
Возвращает имя класса типа ссылки, который будет сериализован в поток 'out'.
- Параметры:
-
out— выходной поток, в который будет сериализована ссылка - Возвращает:
- имя класса (без указания пакета) типа ссылки
- Начиная с:
- 1.1
remoteHashCode
int remoteHashCode()
Возвращает хеш-код удалённого объекта. Две заглушки удалённого объекта, ссылающиеся на один и тот же удалённый объект, будут иметь одинаковый хеш-код (для поддержки использования удалённых объектов в качестве ключей в хеш-таблицах).
- Возвращает:
- хеш-код удалённого объекта
- Начиная с:
- 1.1
- См. также:
remoteEquals
boolean remoteEquals(RemoteRef obj)
Сравнивает два удалённых объекта на равенство. Возвращает логическое значение, указывающее, эквивалентен ли этот удалённый объект указанному объекту Object. Этот метод используется, когда удалённый объект хранится в хеш-таблице.
- Параметры:
-
obj— объект Object для сравнения - Возвращает:
- 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://docs.oracle.com/en/java/javase/25/docs/api/java.rmi/java/rmi/server/RemoteRef.html
serialVersionUIDв интерфейсе не имеет эффекта.