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