VisiBroker for Java

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.
 

Method Detail

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

Borland Software Corporation
http://www.borland.com
100 Enterprise Way
Scotts Valley, CA 95066
Voice: (831) 431-1000
pubsweb@borland.com

Read the latest documentation online