import "maci.idl";
Inheritance diagram for maci::Container:
Public Member Functions | |
ComponentInfo | activate_component (in Handle h, in ExecutionId execution_id, in string name, in string exe, in string type) raises (maciErrType::CannotActivateComponentEx) |
void | deactivate_components (in HandleSeq h) raises (maciErrType::CannotDeactivateComponentEx) |
oneway void | shutdown (in unsigned long action) |
ComponentInfoSeq | get_component_info (in HandleSeq h) |
Object | restart_component (in Handle h) raises (maciErrType::CannotRestartComponentEx) |
void | set_component_shutdown_order (in HandleSeq h) |
Public Attributes | |
const string | ContainerStatusStartupBeginMsg = "ContainerStatusMsg: Startup begins" |
const string | ContainerStatusStartupEndMsg = "ContainerStatusMsg: Startup ends" |
const string | ContainerStatusORBInitBeginMsg = "ContainerStatusMsg: ORB initialization begins" |
const string | ContainerStatusORBInitEndMsg = "ContainerStatusMsg: ORB initialization ends" |
const string | ContainerStatusMgrInitBeginMsg = "ContainerStatusMsg: Manager access initialization begins" |
const string | ContainerStatusMgrInitEndMsg = "ContainerStatusMsg: Manager access initialization ends" |
const string | ContainerStatusCompAutoloadBeginMsg = "ContainerStatusMsg: Automatic component loading begins" |
const string | ContainerStatusCompAutoloadEndMsg = "ContainerStatusMsg: Automatic component loading ends" |
const string | ContainerStatusReadyMsg = "ContainerStatusMsg: Ready" |
The container assists the Manager in fault detection: the container responds to periodic pings issued by the Manager, and if the responses stop, the Manager may assume a failure of the container's computer (see the Client::ping method).
Container may support recovery. If the container terminates unexpectedly, and then recovers (after a reboot, for example), it logs in to the Manager and notifies it that it supports recovery by responding with "AR" to the Client::authenticate method. The Manager then uses the activate_component method on the container to bring all the components the container used to have back to life.
If the container does not support recovery, it should respond with "A" to the Client::authenticate method. In this case, the Manager will log off the previous instance of the container implicitly if it has not yet done so.
|
Activate a component whose type (class) and name (instance) are given. In the process of activation, component's code-base is loaded into memory if it is not there already. The code-base resides in an executable file (usually a dynamic-link library or a shared library -- DLL). On platforms that do not automatically load dependent executables (e.g., VxWorks), the container identifies the dependancies by querying the executable and loads them automatically. Once the code is loaded, it is asked to construct a servant of a given type. The servant is then initialized with the Configuration Database (CDB) and Persistance Database (PDB) data. The servant is attached to the component, and a reference to it is returned.
|
|
Deactivate all components whose handles are given. Deactivation is the inverse process of activation: component is detached from the POA, and thus made unavailable through CORBA, and its resources are freed. If it's code-base is no longer used, it is unloaded from memory.
|
|
Returns information about a subset of components that are currently hosted by the container. Note: If the list of handles is empty, information about all components hosted by the container is returned!
|
|
Restarts an component. Returns a new reference of the restarted component.
|
|
Set component shutdown order.
|
|
Shutdown the container. Notice that this is a oneway method and therefore there cannot be return values or user exceptions. Only CORBA runtime exceptions due to communication issues can be thrown
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|