Previous Table of Contents Next


21.7.4 Notes about Registering Interceptors


   Request Interceptors are registered on a per-ORB basis.

   To achieve virtual per-object Interceptors, query the policies on the target from within the interception points to determine whether they should do any work.

   To achieve virtual per-POA Interceptors, instantiate each POA with a different ORB.

   While Interceptors may be ordered administratively, there is no concept of order with respect to the registration of Interceptors. Request Interceptors are concerned with service contexts. Service contexts have no order, so there is no purpose for request Interceptors to have an order. IOR Interceptors are concerned with tagged components. Tagged components also have no order, so there is no purpose for IOR Interceptors to have an order.

   Registration code should avoid using the ORB; that is, calling ORB_init with the provided orb_id. Since registration occurs during ORB initialization, results of invocations on this ORB while it is in this state are undefined.

   The ORBInitInfo object is only valid during ORB_init. If a service keeps a reference to its ORBInitInfo object and tries to use it after ORB_init returns, the object no longer exists and an OBJECT_NOT_EXIST exception shall be raised.