Интерфейс ORBInitInfoOperations
- Все известные подинтерфейсы:
- ORBInitInfo
public interface ORBInitInfoOperations
Передается каждому ORBInitializer, позволяя ему регистрировать обработчики и выполнять другие задачи во время инициализации ORB.
Объект ORBInitInfo действителен только во время ORB.init. Если служба сохраняет ссылку на свой объект ORBInitInfo и пытается использовать его после того, как ORB.init возвращается, объект больше не существует, и должно быть выброшено исключение OBJECT_NOT_EXIST.
- См. также:
ORBInitializer
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
add_client_request_interceptor(ClientRequestInterceptor interceptor) Используется для добавления обработчика запросов со стороны клиента в список обработчиков запросов со стороны клиента. |
void |
add_ior_interceptor(IORInterceptor interceptor) Используется для добавления обработчика IOR в список обработчиков IOR. |
void |
add_server_request_interceptor(ServerRequestInterceptor interceptor) Используется для добавления обработчика запросов на стороне сервера в список обработчиков запросов на стороне сервера. |
int |
allocate_slot_id() Вызывается для выделения слота в |
String[] |
arguments() Возвращает аргументы, переданные |
CodecFactory |
codec_factory() Возвращает |
String |
orb_id() Возвращает идентификатор инициализируемого ORB. |
void |
register_initial_reference(String id,
Object obj) Идентично |
void |
register_policy_factory(int type,
PolicyFactory policy_factory) Регистрирует |
Object |
resolve_initial_references(String id) Идентично |
Методы
arguments
String[] arguments()
Возвращает аргументы, переданные ORB.init. Они могут или не могут содержать аргументы ORB.
orb_id
String orb_id()
Возвращает идентификатор инициализируемого ORB.
codec_factory
CodecFactory codec_factory()
Возвращает IOP.CodecFactory. CodecFactory обычно получается с помощью вызова ORB.resolve_initial_references( "CodecFactory" ), но поскольку ORB еще недоступен, и обработчикам, особенно при обработке контекстов сервисов, потребуется Codec, необходим способ получения Codec во время инициализации ORB.
register_initial_reference
void register_initial_reference(String id,
Object obj)
throws InvalidName Идентично ORB.register_initial_reference. Эта же функциональность существует здесь, потому что ORB, еще не полностью инициализирован, еще недоступен, но начальные ссылки могут потребоваться для регистрации в рамках регистрации обработчиков. Единственное различие состоит в том, что версия этой операции в ORB использует PIDL (CORBA.ORB.ObjectId) и (CORBA.ORB.InvalidName), тогда как версия в этом интерфейсе использует IDL, определенный в этом интерфейсе; семантика идентична.
- Выбрасывает:
InvalidName
resolve_initial_references
Object resolve_initial_references(String id)
throws InvalidName Идентично ORB.resolve_initial_references. Эта же функциональность существует здесь, потому что ORB, еще не полностью инициализирован, еще недоступен, но начальные ссылки могут потребоваться от ORB в рамках регистрации обработчиков. Единственное различие состоит в том, что версия этой операции в ORB использует PIDL (CORBA::ORB::ObjectId и CORBA::ORB::InvalidName), тогда как версия в этом интерфейсе использует IDL, определенный в этом интерфейсе; семантика идентична.
Эта операция действительна только во время post_init.
- Выбрасывает:
InvalidName
add_client_request_interceptor
void add_client_request_interceptor(ClientRequestInterceptor interceptor)
throws DuplicateName Используется для добавления обработчика запросов со стороны клиента в список обработчиков запросов со стороны клиента.
- Параметры:
-
interceptor- ДобавляемыйClientRequestInterceptor. - Выбрасывает:
-
DuplicateName- выбрасывается, если обработчик запросов со стороны клиента уже был зарегистрирован с этим именем обработчика.
add_server_request_interceptor
void add_server_request_interceptor(ServerRequestInterceptor interceptor)
throws DuplicateName Используется для добавления обработчика запросов на стороне сервера в список обработчиков запросов на стороне сервера.
- Параметры:
-
interceptor- Добавляемый ServerRequestInterceptor. - Выбрасывает:
-
DuplicateName- выбрасывается, если обработчик запросов на стороне сервера уже был зарегистрирован с этим именем обработчика
add_ior_interceptor
void add_ior_interceptor(IORInterceptor interceptor)
throws DuplicateName Используется для добавления обработчика IOR в список обработчиков IOR.
- Параметры:
-
interceptor- Добавляемый IORInterceptor. - Выбрасывает:
-
DuplicateName- выбрасывается, если обработчик IOR уже был зарегистрирован с этим именем обработчика.
allocate_slot_id
int allocate_slot_id()
Вызывается для выделения слота в PortableInterceptor.Current.
Обратите внимание, что, хотя слоты могут быть выделены в инициализаторе ORB, сами слоты не могут быть инициализированы.
- Возвращает:
- Индекс выделенного слота.
- Выбрасывает:
-
BAD_INV_ORDER- выбрасывается со стандартным незначительным кодом 14, еслиset_slotилиget_slotвызывается в инициализаторе ORB наPICurrent. - См. также:
Current
register_policy_factory
void register_policy_factory(int type,
PolicyFactory policy_factory) Регистрирует PolicyFactory для данного PolicyType.
- Параметры:
-
type- Тип политики, которую обслуживает данныйPolicyFactory. -
policy_factory- Фабрика для данного типа политики. - Выбрасывает:
-
BAD_INV_ORDER- выбрасывается со стандартным незначительным кодом 16, еслиPolicyFactoryуже существует для данногоPolicyType.
© 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.