background image
Bionic Buffalo Tech Note #25: Quick Start Guide to Writing CORBA Server Applications
 
 
The application may provide a Servant Manager to make the decision regarding which
servant to use. As with the default servant, this method is used if there is no Active
Object Map, or if the object is not found in the Active Object Map. 
The flow of control depends on the three possible values of the
RequestProcessingPolicy, and is shown in the following diagram: 
An application running for an extended period of time serving a large number of objects
can build a very large Active Object Map, so this is a consideration when choosing the
Page 4 of 12
[ServantRetention
Policy = RETAIN]
[Servant
Retention
Policy
= NON_RETAIN]
raise 
OBJECT
_NOT_EXIST
exception
select servant
from Active
Object Map
look up object
id in Active
Object Map
[found]
[not found]
[RequestProcessingPolicy
= USE_ACTIVE_OBJECT_MAP_ONLY]
[RequestProcessingPolicy
= USE_DEFAULT_SERVANT]
[Request
Processing
Policy
= USE
_SERVANT
_MANAGER]
use servant
manager to select
servant
use default
servant to process
request
raise 
INVALID
_POLICY
exception
©2005 Bionic Buffalo