CORBA Programming Reference
PortableServer::POA::create_lifespan_policy
Synopsis
Obtains an object with the LifespanPolicy interface so the user can pass the object to the POA::create_POA operation.
C++ Binding
LifespanPolicy_ptr
PortableServer::POA::create_lifespan_policy (
PortableServer::LifespanPolicyPolicyValue value)
Argument
value
A value of either PortableServer::USE
R_ID, indicating ObjectIds
are assigned only by the application, or PortableServer::
SYSTEM_ID, indicating ObjectIds
are assigned only by the system.
Description
Objects with the LifespanPolicy
interface are obtained using the POA::create_lifespan_policy
operation and passed to the POA::create_POA
operation to specify the lifespan of the objects implemented in the created POA. The following values can be supplied.
TRANSIENT
—the objects implemented in the POA cannot outlive the process in which they are first created. Once the POA is deactivated, use of any object references generated from it will result in an OBJECT_NOT_EXIST
exception.
PERSISTENT
—the objects implemented in the POA can outlive the process in which they are first created.
- Persistent objects have a POA associated with them (the POA which created them). When the ORB receives a request on a persistent object, it first searches for the matching POA, based on the names of the POA and all of its ancestors.
- Administrative action beyond the scope of this specification may be necessary to inform the ORB's location service of the creation and eventual termination of existence of this POA, and optionally to arrange for on-demand activation of a process implementing this POA.
- POA names must be unique within their enclosing scope (the parent POA). A portable program can assume that POA names used in other processes will not conflict with its own POA names. A conforming CORBA implementation will provide a method for ensuring this property.
If no LifespanPolicy
object is passed to POA::create_POA
, the lifespan policy defaults to TRANSIENT
.
Note: This function is supported only for a joint client/server.
Return Values
Returns a LifespanPolicy.