|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class ActivationGroup extends UnicastRemoteObject implements ActivationInstantiator
ActivationGroup ответственно за создание новых экземпляров объектов "activatable" в его группе, сообщая его ActivationMonitor когда также: его объект стал активным или неактивным, или группа в целом становится неактивной. ActivationGroup первоначально создается одним из нескольких способов:
ActivationDesc без явного ActivationGroupID поскольку первые activatable возражают в группе, или ActivationGroup.createGroup метод ActivationGroupDesc был только зарегистрирован. Только активатор может воссоздать ActivationGroup. Икра активатора, столь же необходимая, отдельный VM (как дочерний процесс, например) для каждой зарегистрированной группы активации и, предписывает, чтобы активация запросила соответствующей группе. Это - реализация, определенная, как порождаются VMs. Группа активации создается через ActivationGroup.createGroup статический метод. createGroup у метода есть два требования к группе, чтобы быть созданным: 1) группа должна быть конкретным подклассом ActivationGroup, и 2) у группы должен быть конструктор, который берет два параметра:
ActivationGroupID, и java.rmi.MarshalledObject) Когда создающийся, реализация по умолчанию ActivationGroup переопределит системные свойства со свойствами, которые требуют когда ActivationGroupDesc создавался, и установит a java.rmi.RMISecurityManager как менеджер по безопасности системы значения по умолчанию. Если Ваше приложение требует, чтобы определенные свойства были установлены, когда объекты активируются в группе, приложение должно создать специальное предложение Properties объект, содержащий эти свойства, затем создайте ActivationGroupDesc с Properties объект, и использование ActivationGroup.createGroup прежде, чем создать любого ActivationDescs (прежде, чем значение по умолчанию ActivationGroupDesc создается). Если Ваше приложение требует использования менеджера безопасности кроме java.rmi.RMISecurityManager, в списке свойств ActivativationGroupDescriptor можно установить java.security.manager свойство к имени менеджера безопасности требуется установить.
ActivationInstantiator, ActivationGroupDesc, ActivationGroupID, Сериализированная Формакасательно| Модификатор | Конструктор и Описание |
|---|---|
protected |
ActivationGroup(ActivationGroupID groupID)
Создает группу активации с данным групповым идентификатором активации.
|
| Модификатор и Тип | Метод и Описание |
|---|---|
protected void |
activeObject(ActivationID id, MarshalledObject<? extends Remote> mobj)
Этот защищенный метод необходим для подклассов, чтобы сделать
activeObject обратный вызов к монитору группы. |
abstract void |
activeObject(ActivationID id, Remote obj)
Группа
activeObject метод вызывают, когда объект экспортируется (любой Activatable объектная конструкция или явный звонок Activatable.exportObject. |
static ActivationGroup |
createGroup(ActivationGroupID id, ActivationGroupDesc desc, long incarnation)
Создайте и установите группу активации для текущего VM.
|
static ActivationGroupID |
currentGroupID()
Возвращает текущий групповой идентификатор активации.
|
static ActivationSystem |
getSystem()
Возвращает систему активации для VM.
|
protected void |
inactiveGroup()
Этот защищенный метод необходим для подклассов, чтобы сделать
inactiveGroup обратный вызов к монитору группы. |
boolean |
inactiveObject(ActivationID id)
Группа
inactiveObject метод вызывают косвенно через звонок Activatable.inactive метод. |
static void |
setSystem(ActivationSystem system)
Установите систему активации для VM.
|
clone, exportObject, exportObject, exportObject, unexportObjectgetClientHost, getLog, setLogequals, getRef, hashCode, toString, toStubfinalize, getClass, notify, notifyAll, wait, wait, waitnewInstanceprotected ActivationGroup(ActivationGroupID groupID) throws RemoteException
java.rmi.server.UnicastRemoteObject.groupID - идентификатор группыRemoteException - если эта группа не могла бы быть экспортированаpublic boolean inactiveObject(ActivationID id) throws ActivationException, UnknownObjectException, RemoteException
inactiveObject метод вызывают косвенно через звонок Activatable.inactive метод. Реализация удаленного объекта должна вызвать Activatable's inactive метод, когда тот объект деактивируется (объект считает, что это больше не активно). Если объект не вызывает Activatable.inactive когда это деактивируется, объект никогда не будет собираться "мусор", так как группа сохраняет ссылки strong на объекты, которые это создает.
Группа inactiveObject метод неэкспортирует удаленный объект от времени выполнения RMI так, чтобы объект больше не мог получить входящие вызовы RMI. Объект будет только неэкспортироваться, если у объекта не будет никакого ожидания или выполнения вызовов. Подкласс ActivationGroup должен переопределить этот метод и неэкспортировать объект.
После удаления объекта от времени выполнения RMI группа должна сообщить ActivationMonitor (через монитор inactiveObject метод), что удаленный объект не является в настоящий момент активным так, чтобы удаленный объект был оживлен активатором по последующему запросу активации.
Этот метод просто сообщает монитору группы, что объект неактивен. Это до конкретного подкласса ActivationGroup, чтобы выполнить дополнительное требование неэкспорта объекта.
id - идентификатор активации объектаUnknownObjectException - если объект неизвестен (может уже быть неактивным),RemoteException - если вызов, сообщающий сбоям монитораActivationException - если группа неактивнаpublic abstract void activeObject(ActivationID id, Remote obj) throws ActivationException, UnknownObjectException, RemoteException
activeObject метод вызывают, когда объект экспортируется (любой Activatable объектная конструкция или явный звонок Activatable.exportObject. Группа должна сообщить ActivationMonitor то, что объект является активным (через монитор activeObject метод), если группа уже не сделала так.id - идентификатор объектаobj - реализация удаленного объектаUnknownObjectException - если объект не регистрируетсяRemoteException - если вызов, сообщающий сбоям монитораActivationException - если группа неактивнаpublic static ActivationGroup createGroup(ActivationGroupID id, ActivationGroupDesc desc, long incarnation) throws ActivationException
createGroup метод, когда Activator инициирует воссоздание группы активации, чтобы выполнить поступление activate запросы. Группа должна сначала быть зарегистрирована в ActivationSystem прежде, чем это сможет быть создано через этот метод. Группа class, определенный ActivationGroupDesc должен быть конкретный подкласс ActivationGroup и имейте общедоступного конструктора, который берет два параметра: ActivationGroupID для группы и MarshalledObject содержа данные инициализации группы (полученный из ActivationGroupDesc.
Если группа имя class, определенное в ActivationGroupDesc null, тогда этот метод будет вести себя как будто групповой дескриптор, содержавший имя групповой реализации активации значения по умолчанию class.
Отметьте, что, если Ваше приложение создает свою собственную группу активации, менеджер безопасности должен быть установлен для той группы. Иначе объекты не могут быть активированы в группе. java.rmi.RMISecurityManager устанавливается по умолчанию.
Если менеджер безопасности уже устанавливается в группе VM, этот метод первые вызовы менеджер безопасности checkSetFactory метод. Это могло привести к a SecurityException. Если Ваше приложение должно установить различного менеджера безопасности, следует гарантировать что файл политики, определенный группой ActivationGroupDesc предоставляет группе необходимые полномочия, чтобы установить нового менеджера безопасности. (Отметьте: Это будет необходимо, если Ваша группа загрузит и установит менеджера безопасности).
После того, как группа создается, ActivationSystem сообщается, что группа активна, вызывая activeGroup метод, который возвращается ActivationMonitor для группы. Приложение не должно вызвать activeGroup независимо, так как это заботится об этим методом.
Как только группа создается, последующие звонки currentGroupID метод возвратит идентификатор для этой группы, пока группа не станет неактивной.
id - групповой идентификатор активацииdesc - групповой дескриптор активацииincarnation - число воплощения группы (обнуляют на начальном создании группы),ActivationException - если группа уже существует или если ошибка происходит во время группового созданияSecurityException - если разрешение, чтобы создать группу отрицается. (Отметьте: реализация по умолчанию менеджера безопасности checkSetFactory метод требует RuntimePermission "setFactory"),SecurityManager.checkSetFactory()public static ActivationGroupID currentGroupID()
public static void setSystem(ActivationSystem system) throws ActivationException
getSystem метод пытается получить ссылку на ActivationSystem ища имя "java.rmi.activation. ActivationSystem" в реестре Активатора. По умолчанию номер порта, используемый, чтобы искать систему активации, определяется ActivationSystem.SYSTEM_PORT. Этот порт может быть переопределен, устанавливая свойство java.rmi.activation.port. Если есть менеджер безопасности, этот метод первые вызовы менеджер безопасности checkSetFactory метод. Это могло привести к SecurityException.
system - удаленная ссылка на ActivationSystemActivationException - если система активации уже устанавливаетсяSecurityException - если разрешение, чтобы установить систему активации отрицается. (Отметьте: реализация по умолчанию менеджера безопасности checkSetFactory метод требует RuntimePermission "setFactory"),getSystem(), SecurityManager.checkSetFactory()public static ActivationSystem getSystem() throws ActivationException
setSystem метод. Если система активации не устанавливается через setSystem метод, тогда getSystem метод пытается получить ссылку на ActivationSystem ища имя "java.rmi.activation. ActivationSystem" в реестре Активатора. По умолчанию номер порта, используемый, чтобы искать систему активации, определяется ActivationSystem.SYSTEM_PORT. Этот порт может быть переопределен, устанавливая свойство java.rmi.activation.port.ActivationException - если система активации не может быть получена или не связывается (означает, что она не работает),setSystem(java.rmi.activation.ActivationSystem)protected void activeObject(ActivationID id, MarshalledObject<? extends Remote> mobj) throws ActivationException, UnknownObjectException, RemoteException
activeObject обратный вызов к монитору группы. Вызов просто переводится группе ActivationMonitor.id - идентификатор объектаmobj - упорядоченный объект, содержащий тупик удаленного объектаUnknownObjectException - если объект не регистрируетсяRemoteException - если вызов, сообщающий сбоям монитораActivationException - если ошибка активации происходитprotected void inactiveGroup()
throws UnknownGroupException,
RemoteException
inactiveGroup обратный вызов к монитору группы. Вызов просто переводится группе ActivationMonitor. Кроме того, текущая группа для VM, устанавливают в NULL.UnknownGroupException - если группа не регистрируетсяRemoteException - если вызов, сообщающий сбоям монитора
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92