Класс PortableRemoteObject
- java.lang.Object
-
- javax.rmi.PortableRemoteObject
public class PortableRemoteObject extends Object
Объекты реализации сервера могут либо наследоваться от javax.rmi.PortableRemoteObject, либо реализовывать удаленный интерфейс, а затем использовать метод exportObject для регистрации себя как объекта сервера. Метод toStub принимает реализацию сервера и возвращает заглушку, которая может быть использована для доступа к этому объекту сервера. Метод connect подготавливает объект Remote для удаленной связи. Метод unexportObject используется для дерегистрации объекта сервера, позволяя ему стать доступным для сборки мусора. Метод narrow принимает ссылку на объект или тип абстрактного интерфейса и пытается сузить его до соответствия заданному интерфейсу. Если операция выполнена успешно, результатом будет объект указанного типа, в противном случае будет брошено исключение.
Конструкторы
| Модификатор | Конструктор и описание |
|---|---|
protected |
PortableRemoteObject() Инициализирует объект, вызвав |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
static void |
connect(Remote target,
Remote source) Подготавливает объект Remote для удаленной связи. |
static void |
exportObject(Remote obj) Подготавливает объект сервера к приёму удалённых вызовов. |
static Object |
narrow(Object narrowFrom,
Class narrowTo) Проверяет, можно ли привести объект удаленного или абстрактного типа интерфейса к нужному типу. |
static Remote |
toStub(Remote obj) Возвращает заглушку для данного объекта сервера. |
static void |
unexportObject(Remote obj) Дерегистрирует объект сервера из среды выполнения, позволяя объекту стать доступным для сборки мусора. |
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Конструкторы
PortableRemoteObject
protected PortableRemoteObject()
throws RemoteException
Инициализирует объект, вызвав exportObject(this).
- Бросает:
-
RemoteException- если экспорт не удался.
Методы
exportObject
public static void exportObject(Remote obj)
throws RemoteException
Подготавливает объект сервера к приёму удалённых вызовов. Обратите внимание, что подклассы PortableRemoteObject не обязаны вызывать этот метод, так как он вызывается конструктором.
- Параметры:
-
obj- объект сервера для экспорта. - Бросает:
-
RemoteException- если экспорт не удался.
toStub
public static Remote toStub(Remote obj)
throws NoSuchObjectException
Возвращает заглушку для данного объекта сервера.
- Параметры:
-
obj- объект сервера, для которого требуется заглушка. Должен быть подклассом PortableRemoteObject или ранее являться объектом, на который ссылался вызовexportObject(java.rmi.Remote). - Возвращает:
- наиболее производную заглушку для объекта.
- Бросает:
-
NoSuchObjectException- если заглушка не может быть найдена для данного объекта сервера.
unexportObject
public static void unexportObject(Remote obj)
throws NoSuchObjectException
Дерегистрирует объект сервера из среды выполнения, позволяя объекту стать доступным для сборки мусора.
- Параметры:
-
obj- объект для отмены экспорта. - Бросает:
-
NoSuchObjectException- если удалённый объект не экспортирован в данный момент.
narrow
public static Object narrow(Object narrowFrom,
Class narrowTo)
throws ClassCastException
Проверяет, можно ли привести объект удаленного или абстрактного типа интерфейса к нужному типу.
- Параметры:
-
narrowFrom- объект для проверки. -
narrowTo- желаемый тип. - Возвращает:
- объект, который можно привести к желаемому типу.
- Бросает:
-
ClassCastException- если narrowFrom не может быть приведён к narrowTo.
connect
public static void connect(Remote target,
Remote source)
throws RemoteException
Подготавливает объект Remote для удалённой связи. Это обычно происходит неявно, когда объект передаётся или принимается в качестве аргумента в удалённом вызове метода, но в некоторых случаях полезно выполнить это действие, сделав явный вызов. См. метод Stub.connect(org.omg.CORBA.ORB) для получения дополнительной информации.
- Параметры:
-
target- объект для подключения. -
source- ранее подключённый объект. - Бросает:
-
RemoteException- еслиsourceне подключён или еслиtargetуже подключён к другому ORB, чемsource.
© 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.