Previous | Table of Contents | Next |
At any point in time, a CORBA object may or may not be associated with an active servant.
If the POA has the RETAIN policy, the servant and its associated Object Id are entered into the Active Object Map of the appropriate
POA. This type of activation can be accomplished in one of the following ways.
• The server application itself explicitly activates individual objects (via the activate_object or activate_object_with_id operations).
• The server application instructs the POA to activate objects on demand by having the POA invoke a user-supplied servant manager. The server application registers this servant manager with set_servant_manager.
• Under some circumstances (when the IMPLICIT_ACTIVATION policy is also in effect and the language binding allows such an operation), the POA may implicitly activate an object when the server application attempts to obtain a reference for a servant that is not already active (that is, not associated with an Object Id).
If the USE_DEFAULT_SERVANT policy is also in effect, the server application instructs the POA to activate unknown objects
by having the POA invoke a single servant no matter what the Object Id is. The server application registers this servant with
set_servant.
If the POA has the NON_RETAIN policy, for every request, the POA may use either a default servant or a servant manager to
locate an active servant. From the POA’s point of view, the servant is active only for the duration of that one request. The
POA does not enter the servant-object association into the Active Object Map.