Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class Activatable extends RemoteServer
Activatable
class оказывает поддержку для удаленных объектов, которые требуют персистентного доступа в течение долгого времени, и это может быть активировано системой. Для конструкторов и статичный exportObject
методы, тупик для экспортируемого удаленного объекта получаются как описано в UnicastRemoteObject
.
Попытка сериализировать явно экземпляр этого class перестанет работать.
касательно
Модификатор | Конструктор и Описание |
---|---|
protected |
Activatable(ActivationID id, int port)
Конструктор имел обыкновение активировать/экспортировать объект на указанном порту.
|
protected |
Activatable(ActivationID id, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf)
Конструктор имел обыкновение активировать/экспортировать объект на указанном порту.
|
protected |
Activatable(String location, MarshalledObject<?> data, boolean restart, int port)
Создает activatable удаленный объект, регистрируя дескриптор активации (с указанным расположением, данными, и режимом перезапуска) для этого объекта, и экспортируя объект с указанным портом.
|
protected |
Activatable(String location, MarshalledObject<?> data, boolean restart, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf)
Создает activatable удаленный объект, регистрируя дескриптор активации (с указанным расположением, данными, и режимом перезапуска) для этого объекта, и экспортируя объект с указанным портом, и определенные фабрики сокета клиента и сервера.
|
Модификатор и Тип | Метод и Описание |
---|---|
static Remote |
exportObject(Remote obj, ActivationID id, int port)
Экспортируйте activatable удаленный объект во время выполнения RMI, чтобы сделать объект доступным, чтобы получить входящие вызовы.
|
static Remote |
exportObject(Remote obj, ActivationID id, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf)
Экспортируйте activatable удаленный объект во время выполнения RMI, чтобы сделать объект доступным, чтобы получить входящие вызовы.
|
static ActivationID |
exportObject(Remote obj, String location, MarshalledObject<?> data, boolean restart, int port)
Регистрирует дескриптор активации (в указанном расположении, данных, и режиме перезапуска) для указанного объекта, и экспорта, который возражает с указанным портом.
|
static ActivationID |
exportObject(Remote obj, String location, MarshalledObject<?> data, boolean restart, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf)
Регистрирует дескриптор активации (в указанном расположении, данных, и режиме перезапуска) для указанного объекта, и экспорта, который возражает с указанным портом, и указанными фабриками сокета клиента и сервера.
|
protected ActivationID |
getID()
Возвращает идентификатор активации объекта.
|
static boolean |
inactive(ActivationID id)
Сообщает системе что объект с соответствующей активацией
id в настоящий момент неактивно. |
static Remote |
register(ActivationDesc desc)
Зарегистрируйте объектный дескриптор для activatable удаленного объекта так, чтобы был, может быть активирован по требованию.
|
static boolean |
unexportObject(Remote obj, boolean force)
Удалите удаленный объект, obj, от времени выполнения RMI.
|
static void |
unregister(ActivationID id)
Отменяет предыдущую регистрацию для дескриптора активации, связанного с
id . |
getClientHost, getLog, setLog
protected Activatable(String location, MarshalledObject<?> data, boolean restart, int port) throws ActivationException, RemoteException
Отметьте: Используя Activatable
конструкторам, которые и регистрируют и экспортируют activatable удаленный объект, строго обескураживают, потому что действия регистрации и экспорта удаленного объекта, как гарантируют, не будут атомарными. Вместо этого приложение должно зарегистрировать дескриптор активации и экспортировать удаленный объект отдельно, так, чтобы исключения могли быть обработаны должным образом.
Этот метод вызывает exportObject
метод с этим объектом, и указанное расположение, данные, перезапускает режим, и порт. Последующие звонки getID()
возвратит идентификатор активации, возвращенный из звонка exportObject
.
location
- расположение для классов для этого объектаdata
- данные инициализации объектаport
- порт, на котором экспортируется объект (анонимный порт используется если port=0),restart
- если это правда, объект перезапускается (оживленный), когда или активатор перезапускается или группа активации объекта, перезапускается после неожиданного катастрофического отказа; если ложь, объект только активируется по требованию. Определение restart
быть true
не вызывает начальную непосредственную активацию недавно зарегистрированного объекта; начальная активация ленива.ActivationException
- если объектная регистрация перестала работать.RemoteException
- если любой из следующих сбоев: a), регистрирующий объект в системе активации или b), экспортирующем объект во время выполнения RMI.protected Activatable(String location, MarshalledObject<?> data, boolean restart, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf) throws ActivationException, RemoteException
Отметьте: Используя Activatable
конструкторам, которые и регистрируют и экспортируют activatable удаленный объект, строго обескураживают, потому что действия регистрации и экспорта удаленного объекта, как гарантируют, не будут атомарными. Вместо этого приложение должно зарегистрировать дескриптор активации и экспортировать удаленный объект отдельно, так, чтобы исключения могли быть обработаны должным образом.
Этот метод вызывает exportObject
метод с этим объектом, и указанное расположение, данные, перезапускает режим, порт, и фабрики сокета клиента и сервера. Последующие звонки getID()
возвратит идентификатор активации, возвращенный из звонка exportObject
.
location
- расположение для классов для этого объектаdata
- данные инициализации объектаrestart
- если это правда, объект перезапускается (оживленный), когда или активатор перезапускается или группа активации объекта, перезапускается после неожиданного катастрофического отказа; если ложь, объект только активируется по требованию. Определение restart
быть true
не вызывает начальную непосредственную активацию недавно зарегистрированного объекта; начальная активация ленива.port
- порт, на котором экспортируется объект (анонимный порт используется если port=0),csf
- клиентская фабрика сокета для того, чтобы сделать звонки в удаленный объектssf
- серверная фабрика сокета для того, чтобы прием в соответствии с удаленными вызовамиActivationException
- если объектная регистрация перестала работать.RemoteException
- если любой из следующих сбоев: a), регистрирующий объект в системе активации или b), экспортирующем объект во время выполнения RMI.protected Activatable(ActivationID id, int port) throws RemoteException
ActivationID
), и MarshalledObject
). Конкретный подкласс этого class должен вызвать этого конструктора, когда это активируется через двух конструкторов параметра, описанных выше. Как побочный эффект конструкции, удаленный объект "экспортируется" во время выполнения RMI (на указанном port
) и доступно, чтобы принять входящие вызовы от клиентов.
id
- идентификатор активации для объектаport
- номер порта, на котором экспортируется объектRemoteException
- экспортируя объект в сбои времени выполнения RMIprotected Activatable(ActivationID id, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf) throws RemoteException
ActivationID
), и MarshalledObject
). Конкретный подкласс этого class должен вызвать этого конструктора, когда это активируется через двух конструкторов параметра, описанных выше. Как побочный эффект конструкции, удаленный объект "экспортируется" во время выполнения RMI (на указанном port
) и доступно, чтобы принять входящие вызовы от клиентов.
id
- идентификатор активации для объектаport
- номер порта, на котором экспортируется объектcsf
- клиентская фабрика сокета для того, чтобы сделать звонки в удаленный объектssf
- серверная фабрика сокета для того, чтобы прием в соответствии с удаленными вызовамиRemoteException
- экспортируя объект в сбои времени выполнения RMIprotected ActivationID getID()
public static Remote register(ActivationDesc desc) throws UnknownGroupException, ActivationException, RemoteException
desc
- дескриптор объектаUnknownGroupException
- если групповой идентификатор в desc
не регистрируется в системе активацииActivationException
- если система активации не работаетRemoteException
- если удаленный вызов перестал работатьpublic static boolean inactive(ActivationID id) throws UnknownObjectException, ActivationException, RemoteException
id
в настоящий момент неактивно. Если объект является в настоящий момент активным, объект "неэкспортируется" от времени выполнения RMI (только если нет никакого ожидания, или происходящий вызывает) так, что это больше не может получить входящие вызовы. Этот вызов сообщает ActivationGroup этого VM, что объект неактивен, который, поочередно, сообщает его ActivationMonitor. Если этот вызов завершается успешно, последующее активируются, запрос к активатору вызовет объект оживить. Работа может все еще успешно выполниться, если объект считают активным, но уже неэкспортировал себя.id
- идентификатор активации объектаUnknownObjectException
- если объект не известен (это может уже быть неактивно),ActivationException
- если группа не активнаRemoteException
- если вызов, сообщающий сбоям монитораpublic static void unregister(ActivationID id) throws UnknownObjectException, ActivationException, RemoteException
id
. Объект больше не может быть активирован через это id
.id
- идентификатор активации объектаUnknownObjectException
- если объект (id
) неизвестноActivationException
- если система активации не работаетRemoteException
- если удаленный звонок в системные сбои активацииpublic static ActivationID exportObject(Remote obj, String location, MarshalledObject<?> data, boolean restart, int port) throws ActivationException, RemoteException
Отметьте: Используя этот метод (так же как Activatable
конструкторы, которые и регистрируют и экспортируют activatable удаленный объект) строго обескураживается, потому что действия регистрации и экспорта удаленного объекта, как гарантируют, не будут атомарными. Вместо этого приложение должно зарегистрировать дескриптор активации и экспортировать удаленный объект отдельно, так, чтобы исключения могли быть обработаны должным образом.
Этот метод вызывает exportObject
метод с указанным объектом, расположением, данными, перезапускает режим, и порт, и null
и для фабрик сокета клиента и сервера, и для затем возвращает получающийся идентификатор активации.
obj
- экспортируемый объектlocation
- участок кода объектаdata
- данные начальной загрузки объектаrestart
- если это правда, объект перезапускается (оживленный), когда или активатор перезапускается или группа активации объекта, перезапускается после неожиданного катастрофического отказа; если ложь, объект только активируется по требованию. Определение restart
быть true
не вызывает начальную непосредственную активацию недавно зарегистрированного объекта; начальная активация ленива.port
- порт, на котором экспортируется объект (анонимный порт используется если port=0),desc
, с системой активации неправильная группаActivationException
- если группа активации не активнаRemoteException
- если объектная регистрация или сбои экспортаpublic static ActivationID exportObject(Remote obj, String location, MarshalledObject<?> data, boolean restart, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf) throws ActivationException, RemoteException
Отметьте: Используя этот метод (так же как Activatable
конструкторы, которые и регистрируют и экспортируют activatable удаленный объект) строго обескураживается, потому что действия регистрации и экспорта удаленного объекта, как гарантируют, не будут атомарными. Вместо этого приложение должно зарегистрировать дескриптор активации и экспортировать удаленный объект отдельно, так, чтобы исключения могли быть обработаны должным образом.
Этот метод первые регистры дескриптор активации для указанного объекта следующим образом. Это получает систему активации, вызывая метод ActivationGroup.getSystem
. Этот метод тогда получает ActivationID
для объекта, вызывая систему активации registerObject
метод с ActivationDesc
созданный с именем class указанного объекта, и указанным расположением, данными, и режимом перезапуска. Если исключение происходит, получая систему активации или регистрируя дескриптор активации, то исключение выдается к вызывающей стороне.
Затем, этот метод экспортирует объект, вызывая exportObject
метод с указанным удаленным объектом, идентификатор активации, полученный из регистрации, указанного порта, и указанного клиента и сервера, снабжает фабрики сокетом. Если исключение происходит, экспортируя объект, этот метод пытается незарегистрировать идентификатор активации (полученный из регистрации), вызывая систему активации unregisterObject
метод с идентификатором активации. Если исключение происходит, нерегистрируя идентификатор, то исключение игнорируется, и исходное исключение, которое произошло, экспортируя объект, выдается к вызывающей стороне.
Наконец, этот метод вызывает activeObject
метод на группе активации в этом VM с идентификатором активации и указанным удаленным объектом, и возвратами идентификатор активации к вызывающей стороне.
obj
- экспортируемый объектlocation
- участок кода объектаdata
- данные начальной загрузки объектаrestart
- если это правда, объект перезапускается (оживленный), когда или активатор перезапускается или группа активации объекта, перезапускается после неожиданного катастрофического отказа; если ложь, объект только активируется по требованию. Определение restart
быть true
не вызывает начальную непосредственную активацию недавно зарегистрированного объекта; начальная активация ленива.port
- порт, на котором экспортируется объект (анонимный порт используется если port=0),csf
- клиентская фабрика сокета для того, чтобы сделать звонки в удаленный объектssf
- серверная фабрика сокета для того, чтобы прием в соответствии с удаленными вызовамиActivationException
- если группа активации не активнаRemoteException
- если объектная регистрация или сбои экспортаpublic static Remote exportObject(Remote obj, ActivationID id, int port) throws RemoteException
port
нуль. Во время активации, этого exportObject
метод должен быть вызван явно объектом "activatable", который не расширяется Activatable
class. Нет никакой потребности в объектах, которые действительно расширяются Activatable
class, чтобы вызвать этот метод непосредственно, потому что объект экспортируется во время конструкции.
obj
- реализация удаленного объектаid
- идентификатор активации объектаport
- порт, на котором экспортируется объект (анонимный порт используется если port=0),RemoteException
- если объект экспортирует сбоиpublic static Remote exportObject(Remote obj, ActivationID id, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf) throws RemoteException
port
нуль. Во время активации, этого exportObject
метод должен быть вызван явно объектом "activatable", который не расширяется Activatable
class. Нет никакой потребности в объектах, которые действительно расширяются Activatable
class, чтобы вызвать этот метод непосредственно, потому что объект экспортируется во время конструкции.
obj
- реализация удаленного объектаid
- идентификатор активации объектаport
- порт, на котором экспортируется объект (анонимный порт используется если port=0),csf
- клиентская фабрика сокета для того, чтобы сделать звонки в удаленный объектssf
- серверная фабрика сокета для того, чтобы прием в соответствии с удаленными вызовамиRemoteException
- если объект экспортирует сбоиpublic static boolean unexportObject(Remote obj, boolean force) throws NoSuchObjectException
obj
- удаленный объект, который будет неэкспортированforce
- если это правда, неэкспортирует объект, даже если там ожидают, или происходящий вызывает; если ложь, только неэкспортирует объект, если нет никакого ожидания, или происходящий вызываетNoSuchObjectException
- если удаленный объект в настоящий момент не экспортируется
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92