Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface Activator extends Remote
Activator
облегчает активацию удаленного объекта. "Дающая сбой" удаленная ссылка вызывает активатор activate
метод, чтобы получить "живую" ссылку на "activatable" удаленный объект. После получения запроса на активацию активатор ищет дескриптор активации для идентификатора активации, id
, определяет группу, в которой должен быть активирован объект, новички возражают воссозданию через группу ActivationInstantiator
(через звонок newInstance
метод). Активатор инициирует выполнение групп активации по мере необходимости. Например, если группа активации для определенного группового идентификатора уже не выполняется, активатор инициирует выполнение VM для группы. Activator
работает в тесном сотрудничестве ActivationSystem
, который обеспечивает средство для того, чтобы оно зарегистрировало группы и объекты в пределах тех групп, и ActivationMonitor
, какая recives информация об активных и неактивных объектах и неактивных группах.
Активатор ответственен за контроль и обнаружение, когда группы активации перестали работать так, чтобы это могло удалить устарелые удаленные ссылки на группы и активный объект в пределах тех групп.
ActivationInstantiator
, ActivationGroupDesc
, ActivationGroupID
Модификатор и Тип | Метод и Описание |
---|---|
MarshalledObject<? extends Remote> |
activate(ActivationID id, boolean force)
Активируйте объект, связанный с идентификатором активации,
id . |
MarshalledObject<? extends Remote> activate(ActivationID id, boolean force) throws ActivationException, UnknownObjectException, RemoteException
id
. Если активатор знает объект уже быть активным, и force
ложь, тупик с "живой" ссылкой сразу возвращается к вызывающей стороне; иначе, если активатор не знает, что соответствующий удаленный объект является активным, активатор использует информацию о дескрипторе активации (ранее зарегистрированный), чтобы определить группу (VM), в котором должен быть активирован объект. Если ActivationInstantiator
соответствие групповому дескриптору объекта уже существует, активатор вызывает группу активации newInstance
метод, передающий это идентификатор объекта и дескриптор. Если группа активации для группового дескриптора объекта еще не существует, активатор запускается ActivationInstantiator
выполнение (порождая дочерний процесс, например). Когда активатор принимает групповой вызов активации назад (через ActivationSystem
's activeGroup
метод) определение групповой ссылки активации, активатор может тогда вызвать тот instantiator's активации newInstance
метод, чтобы передать каждый запрос активации на ожидании группе активации и возвратить результат (упорядоченная ссылка удаленного объекта, тупик) к вызывающей стороне.
Отметьте, что активатор получает "упорядоченный" объект вместо Удаленного объекта так, чтобы активатор не должен был загрузить код для того объекта, или участвовать в распределенной сборке "мусора" для того объекта. Если бы активатор, сохраненный сильной ссылкой на удаленный объект, активатор тогда препятствовал бы объекту быть собранным "мусор" под нормальным распределенным механизмом сборки "мусора".
id
- идентификатор активации для активируемого объектаforce
- если это правда, активатор связывается с группой, чтобы получить ссылку удаленного объекта; если ложь, возвращая кэшируемое значение позволяется.ActivationException
- если активизация объектов перестала работатьUnknownObjectException
- если объект неизвестен (не зарегистрированный)RemoteException
- если удаленный вызов перестал работать
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.