Previous | Table of Contents | Next |
An Interceptor is registered by registering an associated ORBInitializer object that implements the ORBInitializer interface.
When an ORB is initializing, it shall call each registered ORBInitializer, passing it an ORBInitInfo object, which is used
to register its Interceptor.
module PortableInterceptor {
local interface ORBInitializer { void pre_init (in ORBInitInfo info); void post_init (in ORBInitInfo info);
};};
21.7.1.1 pre_init
This operation is called during ORB initialization. If it is expected that initial services registered by an interceptor will
be used by other interceptors, then those initial services shall be registered at this point via calls to ORBInitInfo::register_initial_reference.
Parameter | Description | ||||
info | See below. This object provides initialization attributes and op | ||||
erations by which Interceptors can be registered. |
21.7.1.2 post_init
This operation is called during ORB initialization. If a service must resolve initial references as part of its initialization,
it can assume that all initial references will be available at this point.
Calling the post_init operations is not the final task of ORB initialization. The final task, following the post_init calls,
is attaching the lists of registered interceptors to the ORB. Therefore, the ORB does not contain the interceptors during
calls to post_init. If an ORB-mediated call is made from within post_init, no request interceptors will be invoked on that
call. Likewise, if an operation is performed that causes an IOR to be created, no IOR interceptors will be invoked.
Parameters | Description | ||||
info | See below. This object provides initialization attributes and op | ||||
erations by which Interceptors can be registered. |