Spec-Zone.ru › OpenJDK 24

Класс RemoteObjectInvocationHandler

java.lang.Object
java.rmi.server.RemoteObject
java.rmi.server.RemoteObjectInvocationHandler
Все реализованные интерфейсы:
Serializable, InvocationHandler, Remote
public class RemoteObjectInvocationHandler extends RemoteObject implements InvocationHandler
Реализация интерфейса InvocationHandler для использования с вызовами удалённых методов Java (Java RMI). Этот обработчик вызовов может использоваться совместно с экземпляром динамического прокси в качестве замены предварительно сгенерированному классу-заглушке.

Приложения не должны использовать этот класс напрямую. Удалённый объект, экспортированный для использования динамического прокси с UnicastRemoteObject, имеет экземпляр этого класса в качестве обработчика вызовов этого прокси.

С тех пор:
1.5
См. также:
  • Сериализованная форма

Краткое описание полей

Поля, объявленные в классе java.rmi.server.RemoteObject

ref

Краткое описание конструкторов

Конструктор Описание
RemoteObjectInvocationHandler(RemoteRef ref)
Создаёт новый RemoteObjectInvocationHandler, созданный со специфицированным RemoteRef.

Краткое описание методов

Модификатор и тип Метод Описание
Object invoke(Object proxy, Method method, Object[] args)
Обрабатывает вызов метода, выполненного на экземпляре прокси, proxy, и возвращает результат.

Методы, объявленные в классе java.rmi.server.RemoteObject

equals, getRef, hashCode, toString, toStub

Методы, объявленные в классе java.lang.Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Подробное описание конструкторов

RemoteObjectInvocationHandler

public RemoteObjectInvocationHandler(RemoteRef ref)
Создаёт новый RemoteObjectInvocationHandler, созданный со специфицированным RemoteRef.
Параметры:
ref - удалённая ссылка
Исключения:
NullPointerException - если ref является null

Подробное описание методов

invoke

public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
Обрабатывает вызов метода, выполненного на экземпляре прокси, proxy, и возвращает результат.

RemoteObjectInvocationHandler реализует этот метод следующим образом:

Если method является одним из следующих методов, он обрабатывается как описано ниже:

  • Object.hashCode: Возвращает значение хэш-кода для прокси.
  • Object.equals: Возвращает true, если аргумент (args[0]) является экземпляром класса динамического прокси и этот обработчик вызовов равен обработчику вызовов этого аргумента, и возвращает false в противном случае.
  • Object.toString: Возвращает строковое представление прокси.

Если method переопределяет Object.finalize, он игнорируется.

В противном случае выполняется удалённый вызов следующим образом:

  • Если proxy не является экземпляром интерфейса Remote, то выбрасывается IllegalArgumentException.
  • В противном случае вызывается метод invoke для обработчика вызовов этого экземпляра RemoteRef, передавая proxy, method, args и хэш метода (определён в разделе 8.3 спецификации Java Remote Method Invocation (RMI)) для method, и возвращается результат.
  • Если исключение выбрасывается RemoteRef.invoke и это исключение является проверенным исключением, которое не может быть присвоено ни одному исключению в блоке throws класса proxy, то это исключение обертывается в UnexpectedException и обернутое исключение выбрасывается. В противном случае исключение, сгенерированное invoke, выбрасывается этим методом.

Семантика этого метода не определена, если аргументы не могли быть получены от экземпляра некоторого допустимого класса динамического прокси, содержащего этого обработчика вызовов.

Определено в:
invoke в интерфейсе InvocationHandler
Параметры:
proxy - экземпляр прокси, на котором был вызван метод
method - экземпляр Method, соответствующий интерфейсу метода, вызванному на экземпляре прокси
args - массив объектов, содержащих значения аргументов, переданных в вызов метода на экземпляре прокси, или null, если метод не принимает аргументы
Возвращает:
значение для возврата из вызова метода на экземпляре прокси
Исключения:
Throwable - исключение для выброса из вызова метода на экземпляре прокси
См. также:
  • UndeclaredThrowableException

© 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/RemoteObjectInvocationHandler.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API