org.omg.PortableServer
Interface POAManagerOperations
- All Known Subinterfaces:
- POAManager
public interface POAManagerOperations
Each POA object has an associated POAManager object. A POA manager
may be associated with one or more POA objects. A POA manager
encapsulates the processing state of the POAs it is associated
with.
Using operations on the POA manager, an application can
cause requests for those POAs to be queued or discarded, and can
cause the POAs to be deactivated. POA managers are created and
destroyed implicitly. Unless an explicit POA manager object is
provided at POA creation time, a POA manager is created when a POA
is created and is automatically associated with that POA. A POA
manager object is implicitly destroyed when all of its associated
POAs have been destroyed.
Method Summary |
void |
activate()
This operation changes the state of the POA manager to
active. |
void |
deactivate(boolean etherealize_objects,
boolean wait_for_completion)
This operation changes the state of the POA manager to inactive.
If issued while the POA manager is in the inactive state, the
AdapterInactive exception is raised. |
void |
discard_requests(boolean wait_for_completion)
This operation changes the state of the POA manager to
discarding. |
java.lang.String |
get_id()
This operation returns POAManager's unique identity. |
State |
get_state()
This operation returns the state of the POA manager. |
void |
hold_requests(boolean wait_for_completion)
This operation changes the state of the POA manager to holding. |
get_id
java.lang.String get_id()
- This operation returns POAManager's unique identity. The id of the
POAManager for the Root POA is "RootPOAManager"
get_state
State get_state()
- This operation returns the state of the POA manager.
deactivate
void deactivate(boolean etherealize_objects,
boolean wait_for_completion)
throws AdapterInactive
- This operation changes the state of the POA manager to inactive.
If issued while the POA manager is in the inactive state, the
AdapterInactive exception is raised.
Entering the inactive
state causes the associated POAs to reject requests that have
not begun to be executed as well as any new requests.
After
changing the state, if the etherealize_objects parameter is TRUE
- the POA manager will cause all associated POAs that have the
RETAIN and USE_SERVANT_MANAGER policies to perform the
etherealize operation on the associated servant manager for all
active objects. ALSE - t he etherealize operation is not
called.
The purpose is to provide developers with a means to
shut down POAs in a crisis (for example, unrecoverable error)
situation.
If the wait_for_completion parameter is FALSE, this
operation will return immediately after changing the state. If
the parameter is TRUE and the current thread is not in an
invocation context dispatched by some POA belonging to the same
ORB as this POA, this operation does not return until there are
no actively executing requests in any of the POAs associated
with this POA manager (that is, all requests that were started
prior to the state change have completed) and, in the case of a
TRUE etherealize_objects, all invocations of etherealize have
completed for POAs having the RETAIN and USE_SERVANT_MANAGER
policies.
If the parameter is TRUE and the current thread is in
an invocation context dispatched by some POA belonging to the
same ORB as this POA the BAD_INV_ORDER exception is raised and
the state is not changed.
If the ORB::shutdown operation is
called, it makes a call on deactivate with a TRUE
etherealize_objects parameter for each POA manager known in the
process; the wait_for_completion parameter to deactivate will be
the same as the similarly named parameter of ORB::shutdown.
If
deactivate is called multiple times before destruction is
complete (because there are active requests), the
etherealize_objects parameter applies only to the first call of
deactivate; subsequent calls with conflicting
etherealize_objects settings will use the value of the
etherealize_objects from the first call.
The wait_for_completion
parameter will be handled as defined above for each individual
call (some callers may choose to block, while others may not).
- Parameters:
etherealize_objects
- wait_for_completion
-
- Throws:
AdapterInactive
discard_requests
void discard_requests(boolean wait_for_completion)
throws AdapterInactive
- This operation changes the state of the POA manager to
discarding. If issued while the POA manager is in the inactive
state, the AdapterInactive exception is raised.
Entering the
discarding state causes the associated POAs to discard incoming
requests. In addition, any requests that have been queued but
have not started executing are discarded. When a request is
discarded, a TRANSIENT system exception is returned to the
client.
If the wait_for_completion parameter is FALSE, this
operation returns immediately after changing the state. If the
parameter is TRUE and the current thread is not in an invocation
context dispatched by some POA belonging to the same ORB as this
POA, this operation does not return until either there are no
actively executing requests in any of the POAs associated with
this POA manager (that is, all requests that were started prior
to the state change have completed) or the state of the POA
manager is changed to a state other than discarding.
If the
parameter is TRUE and the current thread is in an invocation
context dispatched by some POA belonging to the same ORB as this
POA the BAD_INV_ORDER exception is raised and the state is not
changed.
- Parameters:
wait_for_completion
-
- Throws:
AdapterInactive
hold_requests
void hold_requests(boolean wait_for_completion)
throws AdapterInactive
- This operation changes the state of the POA manager to holding.
If issued while the POA manager is in the inactive state, the
AdapterInactive exception is raised.
Entering the holding state
causes the associated POAs to queue incoming requests. Any
requests that have been queued but have not started executing
will continue to be queued while in the holding state.
If the
wait_for_completion parameter is FALSE, this operation returns
immediately after changing the state. If the parameter is TRUE
and the current thread is not in an invocation context
dispatched by some POA belonging to the same ORB as this POA,
this operation does not return until either there are no
actively executing requests in any of the POAs associated with
this POA manager (that is, all requests that were started prior
to the state change have completed) or the state of the POA
manager is changed to a state other than holding.
If the
parameter is TRUE and the current thread is in an invocation
context dispatched by some POA belonging to the same ORB as this
POA the BAD_INV_ORDER exception is raised and the state is not
changed.
- Parameters:
wait_for_completion
-
- Throws:
AdapterInactive
activate
void activate()
throws AdapterInactive
- This operation changes the state of the POA manager to
active. If issued while the
POA manager is in the inactive state, the AdapterInactive
exception is raised.
Entering the active state enables the associated POAs to
process requests.
- Throws:
AdapterInactive
Read the latest documentation online