background image
Bionic Buffalo Tech Note #50: Effects of Portable Object Adapter Policies
object map. This determines how the POA associates incoming requests (invocations on the methods
of specified objects) with servants.
ServantRetentionPolicyValue
Interpretation
Min
RETAIN
(default) the 
POA
 maintains an active object map, associating
ObjectId
 values with servants; the map can be used to
associate a given 
ObjectId
 with a specific servant
yes
NON_RETAIN
the 
POA
 does not maintain an active object map; to find the
servant for a given 
ObjectId
, the 
POA
 either uses a default
servant (
RequestProcessingPolicy =
USE_DEFAULT_SERVANT
), or lets a 
ServantManager
locate the servant (R
equestProcessingPolicy =
USE_SERVANT_MANAGER
)
no
RequestProcessingPolicy
The RequestProcessingPolicy value specifies how requests are handled by the POA. The possible
values are:
RequestProcessingPolicyValue
Interpretation
Min
USE_ACTIVE_OBJECT_MAP_ONLY
(default) the 
POA
 looks for servants in the active
object map
yes
USE_DEFAULT_SERVANT
the 
POA
 looks for servants in the active object map (if
any); if not found, then the 
POA
 then forwards the
request to the default servant
no
USE_SERVANT_MANAGER
the 
POA
 looks for servants in the active object map (if
any); if not found, then the 
POA
 has the
ServantManager
 find the servant
no
These procedures are explained in more detail, below.
ImplicitActivationPolicy
The 
ImplicitActivationPolicy
 value specifies whether or not implicit activation of servants
is supported by the 
POA
. Servants may be activated explicitly using several 
POA
 operations, or (if
implicit activation is allowed) they may be implicitly activated. There is a 
POA
 mapping operation,
servant_to_reference()
, which takes a servant and returns an object reference. In implicit
activation, if the servant isn't found in the active object map, the 
POA
 will automatically create a new
object id and reference. This (of course) requires that 
IdAssignmentPolicy = SYSTEM_ID
 (so
Page 4 of 8