14.13.4.4 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 anOBJECT_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.Parent topic: PortableServer::POA::create_lifespan_policy