Интерфейс 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
Устарело.
Схемы заглушек 1.2 больше не используют этот метод. Вместо использования последовательности вызовов метода на удалённой ссылке заглушки (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
Устарело.
Схемы заглушек 1.2 больше не используют этот метод. Вместо использования последовательности вызовов метода на удалённой ссылке (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
Устарело.
Схемы заглушек 1.2 больше не используют этот метод. Вместо использования последовательности вызовов метода на удалённой ссылке (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

Spec-Zone .ru
спецификации, руководства, описания, API