Public Member Functions | |
String | corbaObjectToString (org.omg.CORBA.Object objRef) |
org.omg.CORBA.Object | corbaObjectFromString (String strObjRef) |
ORB | getORB () |
org.omg.CORBA.Any | getAny () |
void | connectManagerAdmin (AdministratorOperations adminOp, boolean retryConnectOnFailure) throws AcsJContainerEx |
void | disconnectManagerAdmin (AdministratorOperations adminOp) |
Protected Attributes | |
ContainerServicesImpl | containerServicesImpl |
Logger | logger |
final Map < AdministratorOperations, AcsManagerProxy > | adminClientsToManagerProxy |
Package Functions | |
AdvancedContainerServicesImpl (ContainerServicesImpl containerServicesImpl, Logger logger) |
This class implements the more exotic methods from the container services interface, which have been refactored out of ContainerServices
into a separate interface.
alma.acs.container.AdvancedContainerServicesImpl.AdvancedContainerServicesImpl | ( | ContainerServicesImpl | containerServicesImpl, | |
Logger | logger | |||
) | [package] |
void alma.acs.container.AdvancedContainerServicesImpl.connectManagerAdmin | ( | AdministratorOperations | adminOp, | |
boolean | retryConnectOnFailure | |||
) | throws AcsJContainerEx |
Allows to connect a manager admin object to the manager, to receive notifications etc.
This method accepts and distinguishes AdministratorOperations
objects and the subtyped SynchronousAdministratorOperations objects.
TODO: (1) container could implement a single proxy/interceptor admin client so that we only have at most one such login on the manager, even if many components register their admin clients. (2) Discuss if the retryConnectOnFailure
flag makes sense, or if such a specialized component that uses this method should implement its own retry strategy and should rather be notified quickly if there are problems.
adminOp | admin object for manager callbacks. | |
retryConnectOnFailure | retry if the manager is not available or the connection failed. |
AcsJContainerEx | ||
IllegalArgumentException | if adminOp == null . |
Implements alma.acs.container.AdvancedContainerServices.
References alma.acs.container.AdvancedContainerServicesImpl.adminClientsToManagerProxy, alma.acs.container.AdvancedContainerServicesImpl.containerServicesImpl, alma.acs.container.AcsManagerProxy.createInstance(), alma.acs.container.AdvancedContainerServicesImpl.getORB(), alma.acs.container.AdvancedContainerServicesImpl.logger, alma.acs.container.AcsManagerProxy.loginToManager(), and alma.acs.container.ContainerServicesImpl.m_acsManagerProxy.
org.omg.CORBA.Object alma.acs.container.AdvancedContainerServicesImpl.corbaObjectFromString | ( | String | strObjRef | ) |
Encapsulates org.omg.CORBA.ORB#string_to_object(String).
strObjRef |
Implements alma.acs.container.AdvancedContainerServices.
References alma.acs.container.AdvancedContainerServicesImpl.getORB(), and alma.acs.container.AdvancedContainerServicesImpl.logger.
String alma.acs.container.AdvancedContainerServicesImpl.corbaObjectToString | ( | org.omg.CORBA.Object | objRef | ) |
Encapsulates org.omg.CORBA.ORB#object_to_string(org.omg.CORBA.Object).
objRef | the corba stub |
objRef
. Implements alma.acs.container.AdvancedContainerServices.
References alma.acs.container.AdvancedContainerServicesImpl.getORB(), and alma.acs.container.AdvancedContainerServicesImpl.logger.
void alma.acs.container.AdvancedContainerServicesImpl.disconnectManagerAdmin | ( | AdministratorOperations | adminOp | ) |
Releases a previously connected manager admin object. This call is ignored if the given object is not connected.
componentUrl |
Implements alma.acs.container.AdvancedContainerServices.
References alma.acs.container.AdvancedContainerServicesImpl.adminClientsToManagerProxy, and alma.acs.container.AcsManagerProxy.logoutFromManager().
org.omg.CORBA.Any alma.acs.container.AdvancedContainerServicesImpl.getAny | ( | ) |
Returns a reference to a new CORBA Any. In Java the only way to do this is through the ORB itself (i.e., the create_any method).
NullPointerException | if the Any object could not be created. |
Implements alma.acs.container.AdvancedContainerServices.
References alma.acs.container.AdvancedContainerServicesImpl.getORB(), and alma.acs.container.AdvancedContainerServicesImpl.logger.
ORB alma.acs.container.AdvancedContainerServicesImpl.getORB | ( | ) |
IllegalStateException | if the ORB reference is null or has not been initialized before. |
Implements alma.acs.container.AdvancedContainerServices.
References alma.acs.container.AdvancedContainerServicesImpl.containerServicesImpl, alma.acs.container.ContainerServicesImpl.getAcsCorba(), and alma.acs.container.corba.AcsCorba.getORB().
Referenced by alma.acs.container.AdvancedContainerServicesImpl.connectManagerAdmin(), alma.acs.container.AdvancedContainerServicesImpl.corbaObjectFromString(), alma.acs.container.AdvancedContainerServicesImpl.corbaObjectToString(), and alma.acs.container.AdvancedContainerServicesImpl.getAny().
final Map<AdministratorOperations, AcsManagerProxy> alma.acs.container.AdvancedContainerServicesImpl.adminClientsToManagerProxy [protected] |
new HashMap<AdministratorOperations, AcsManagerProxy>()
Referenced by alma.acs.container.AdvancedContainerServicesImpl.connectManagerAdmin(), and alma.acs.container.AdvancedContainerServicesImpl.disconnectManagerAdmin().
Logger alma.acs.container.AdvancedContainerServicesImpl.logger [protected] |