Интерфейс Activator
- Все суперинтерфейсы:
- Remote
public interface Activator extends Remote
Объект Activator облегчает активацию удаленных объектов. Удаленный референт, "срабатывающий с ошибкой", вызывает метод activate активатора, чтобы получить "живой" референт "активируемого" удалённого объекта. При получении запроса на активацию, активатор ищет описание активации для идентификатора активации, id, определяет группу, в которой должен быть активирован объект, инициирует повторное создание объекта через метод ActivationInstantiator группы (через вызов метода newInstance). Активатор инициирует выполнение групп активации при необходимости. Например, если группа активации для определенного идентификатора группы ещё не выполняется, активатор инициирует выполнение виртуальной машины (ВМ) для этой группы.
Activator тесно взаимодействует с ActivationSystem, который предоставляет средства для регистрации групп и объектов в этих группах, и с ActivationMonitor, который получает информацию об активных и неактивных объектах и группах.
Активатор отвечает за мониторинг и обнаружение ошибок групп активации, чтобы он мог удалить устаревшие удалённые ссылки на группы и активные объекты внутри этих групп.
- С:
- 1.2
- См. также:
-
ActivationInstantiator,ActivationGroupDesc,ActivationGroupID
Методы
| Модификатор и тип | Метод и описание |
|---|---|
MarshalledObject<? extends Remote> |
activate(ActivationID id,
boolean force) Активировать объект, связанный с идентификатором активации, |
Методы
activate
MarshalledObject<? extends Remote> activate(ActivationID id,
boolean force)
throws ActivationException,
UnknownObjectException,
RemoteException Активировать объект, связанный с идентификатором активации, id. Если активатор уже знает, что объект активен, и force равно false, то "живой" референт возвращается вызывающей стороне сразу; в противном случае, если активатор не знает, что соответствующий удалённый объект активен, активатор использует информацию из описания активации (предыдущая регистрация) для определения группы (ВМ), в которой должен быть активирован объект. Если группа активации, соответствующая описанию группы объекта, уже существует, активатор вызывает метод newInstance группы активации, передавая ей идентификатор и описание объекта.
Если группа активации для описания группы объекта ещё не существует, активатор запускает выполнение ActivationInstantiator (например, запустив дочерний процесс). Когда активатор получает обратный вызов от группы активации (через метод ActivationSystem группы активации activeGroup), указывающий на референт группы активации, активатор может вызвать метод newInstance этого инициатора активации, чтобы перенаправить все ожидающие запросы активации в группу активации и вернуть результат (маршализованный референт удалённого объекта, стоб) вызывающей стороне.
Обратите внимание, что активатор получает "маршализованный" объект вместо объекта Remote, чтобы активатору не нужно было загружать код этого объекта или участвовать в распределённом сборке мусора для этого объекта. Если активатор сохранял сильную ссылку на удалённый объект, это бы помешало объекту быть собранным мусором в стандартном механизме распределённой сборки мусора.
- Параметры:
-
id- идентификатор активации активируемого объекта -
force- если true, активатор обращается к группе, чтобы получить референт удалённого объекта; если false, разрешено возвращение кэшированного значения. - Возвращает:
- удалённый объект (stub) в маршализованной форме
- Исключения:
-
ActivationException- если активация объекта завершается ошибкой -
UnknownObjectException- если объект неизвестен (не зарегистрирован) -
RemoteException- если удалённый вызов завершается ошибкой - С:
- 1.2
© 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.