

Classes | |
| class | ClientMessageTask |
| class | DeactivateComponentTask |
| class | HandleMonitorEntry |
| class | ReferenceCountingLock |
| class | ReleaseComponentTask |
| class | RequestComponentTask |
| class | ServiceComponent |
| class | ShutdownContainerTask |
Public Types | |
| enum | WhyUnloadedReason { REMOVED, TIMEOUT, DISAPPEARED, REPLACED } |
Public Member Functions | |
| void | initialize (Prevayler prevayler, CDBAccess cdbAccess, Context context, Logger logger, ManagerContainerServices managerContainerServices) |
| void | initializationDone () |
| int | getHandle () |
| void | setDomain (String domain) |
| String | getDomain () |
| ContainerInfo[] | getContainerInfo (int id, int[] handles, String name_wc) throws AcsJNoPermissionEx |
| ClientInfo[] | getClientInfo (int id, int[] handles, String name_wc) throws AcsJNoPermissionEx |
| ComponentInfo[] | getComponentInfo (int id, int[] handles, String name_wc, String type_wc, boolean activeOnly) throws AcsJNoPermissionEx |
| Component | getService (int id, URI curl, boolean activate, StatusHolder status) throws AcsJCannotGetComponentEx, AcsJNoPermissionEx |
| Component | getComponent (int id, URI curl, boolean activate, StatusHolder status) throws AcsJCannotGetComponentEx, AcsJNoPermissionEx |
| Component | getComponentNonSticky (int id, URI curl) throws AcsJCannotGetComponentEx, AcsJNoPermissionEx |
| void | makeComponentImmortal (int id, URI curl, boolean immortalState) throws AcsJCannotGetComponentEx, AcsJNoPermissionEx, AcsJBadParameterEx |
| ClientInfo | login (Client reference) throws AcsJNoPermissionEx |
| void | logout (int id) throws AcsJNoPermissionEx |
| void | logout (int id, boolean pingFailed) throws AcsJNoPermissionEx |
| int | registerComponent (int id, URI curl, String type, Component component) throws AcsJNoPermissionEx, AcsJBadParameterEx |
| void | unregisterComponent (int id, int h) throws AcsJNoPermissionEx, AcsJBadParameterEx |
| Component | restartComponent (int id, URI curl) throws AcsJNoPermissionEx, AcsJBadParameterEx |
| int | releaseComponent (int id, URI curl) throws AcsJNoPermissionEx, AcsJBadParameterEx |
| int | forceReleaseComponent (int id, URI curl) throws AcsJNoPermissionEx, AcsJBadParameterEx |
| void | releaseComponents (int id, URI[] curls) throws AcsJNoPermissionEx |
| void | shutdownContainer (int id, String containerName, int action) throws AcsJNoPermissionEx |
| void | shutdown (int id, int containers) throws AcsJNoPermissionEx |
| ClientInfo | getClientInfo (int id) |
| ComponentInfo | getComponentInfo (int id) |
| ComponentInfo | getDefaultComponent (int id, String type) throws AcsJNoPermissionEx, NoDefaultComponentException |
| ComponentInfo | getDynamicComponent (int id, ComponentSpec componentSpec, boolean markAsDefault) throws AcsJCannotGetComponentEx, AcsJNoPermissionEx, AcsJIncompleteComponentSpecEx, AcsJInvalidComponentSpecEx, AcsJComponentSpecIncompatibleWithActiveComponentEx |
| ComponentInfo[] | getDynamicComponents (int id, ComponentSpec[] components) throws AcsJNoPermissionEx |
| ComponentInfo | getCollocatedComponent (int id, ComponentSpec componentSpec, boolean markAsDefault, URI targetComponentURI) throws AcsJCannotGetComponentEx, AcsJNoPermissionEx, AcsJIncompleteComponentSpecEx, AcsJInvalidComponentSpecEx, AcsJComponentSpecIncompatibleWithActiveComponentEx |
| boolean | isServiceComponent (String name) |
| void | initializeFederation (Hashtable federationDirectoryProperties) throws CoreException |
| String | toString () |
| void | reportPrevaylerState (final boolean raise, Throwable alarmEx) |
| HandleDataStore | getContainers () |
| HandleDataStore | getAdministrators () |
| HandleDataStore | getClients () |
| HandleDataStore | getComponents () |
| void | logHandleRelease (int handle, WhyUnloadedReason reason) |
| HandleMonitorEntry | getHandleReleaseLog (int handle) |
| Map | getUnavailableComponents () |
| Map | getDefaultComponents () |
| Context | getRemoteDirectory () |
| void | setTransport (Transport transport) |
| void | setRemoteDirectory (Context remoteDirectory) |
| Object | getManagerComponentReference () |
| Object | getRemoteDirectoryComponentReference () |
| void | setManagerComponentReference (Object managerComponentReference) |
| void | setRemoteDirectoryComponentReference (Object remoteDirectoryComponentReference) |
| boolean | isShuttingDown () |
| ManagerShutdown | getShutdownImplementation () |
| void | setShutdownImplementation (ManagerShutdown shutdownImplementation) |
| long | getLockTimeout () |
| void | setLockTimeout (long l) |
| void | setCDBAccess (CDBAccess cdbAccess) |
| HashSet | getActiveAlarms () |
| boolean | hasActiveAlarm (String faultMember) |
| void | alarmRaised (String faultMember) |
| void | alarmCleared (String faultMember) |
Protected Member Functions | |
| synchronized long | generateExecutionId () |
Protected Attributes | |
| transient Map< Client, LinkedList< ClientMessageTask > > | clientMessageQueue |
Static Protected Attributes | |
| static final String | FAULT_FAMILY = "Manager" |
| static final String | FAULT_MEMBER = "Prevayler" |
| static final int | FAULT_CODE = 2 |
Private Member Functions | |
| void | reportException (Throwable th) |
| void | initializeDefaultConfiguration () |
| void | initializePingTasks () |
| void | checkLoadBalancingStrategy () |
| Component | getComponent (int id, URI curl, boolean activate, StatusHolder status, boolean allowServices) throws AcsJCannotGetComponentEx, AcsJNoPermissionEx |
| void | checkContainerShutdownState (ContainerInfo containerInfo) throws NoResourcesException |
| void | releaseComponents (ComponentInfo[] infos) throws AcsJNoPermissionEx |
| ClientInfo | containerLogin (String name, AuthenticationData reply, Container container, long timeStamp, long executionId) throws AcsJNoPermissionEx |
| void | containerPostLoginActivation (final ContainerInfo containerInfo, boolean recoverContainer) |
| void | containerInternalStateMerge (ContainerInfo containerInfo, boolean recoverContainer) throws AcsJNoPermissionEx |
| void | initializeServiceDaemons () |
| void | autoStartComponents () |
| boolean | hasCDBEntry (ComponentInfo componentInfo) |
| ClientInfo | administratorLogin (String name, AuthenticationData reply, Administrator administrator, long timeStamp, long executionId) throws AcsJNoPermissionEx |
| ClientInfo | clientLogin (String name, AuthenticationData reply, Client client, long timeStamp, long executionId) throws AcsJNoPermissionEx |
| void | containerLogout (int id, boolean pingFailed) |
| void | makeUnavailable (ComponentInfo componentInfo) |
| void | clientLogout (int id, boolean pingFailed) |
| void | administratorLogout (int id, boolean pingFailed) |
| ClientInfo[] | getAdministrators (int excludeHandle) |
| ContainerInfo[] | getContainersInfo () |
| ClientInfo[] | getClientInfo () |
| ClientInfo[] | getClients (int excludeHandle, int[] handles) |
| void | removeComponentOwner (int componentHandle, int owner) |
| void | addComponentOwner (int componentHandle, int owner) |
| void | notifyClientLogin (final ClientInfo clientInfo, final long timeStamp, final long executionId) |
| void | notifyContainerLogin (final ContainerInfo containerInfo, final long timeStamp, final long executionId) |
| void | notifyClientLogout (final ClientInfo clientInfo, final long timeStamp) |
| void | notifyContainerLogout (final ContainerInfo containerInfo, final long timeStamp) |
| void | notifyContainerDisconnectShutdown (int code) |
| void | notifyContainerShutdownOrder (ContainerInfo containerInfo, int[] handles) |
| void | notifyClientDisconnectShutdown () |
| void | notifyComponentRequested (int[] requestors, int[] components, final long timeStamp) |
| void | notifyComponentActivated (final ComponentInfo componentInfo, final long timeStamp, final long executionId) |
| void | notifyComponentDeactivated (final int handle, final long timeStamp) |
| void | notifyComponentReleased (int[] requestors, int[] components, final long timeStamp) |
| void | notifyComponentAvailable (int excludeClient, int[] clientHandles, ComponentInfo[] info) |
| void | notifyComponentUnavailable (int excludeClient, int[] clientHandles, String[] names) |
| void | sendMessage (Client client, String message, MessageType messageType) |
| void | sendMessage (Client client, String message, MessageType messageType, short messageID) |
| void | securityCheck (int id, int requiredRights) throws AcsJNoPermissionEx |
| ContainerInfo | getContainerInfo (int id) |
| ContainerInfo | getContainerInfo (String name) |
| Component | internalRequestComponent (int requestor, URI curl, StatusHolder status) throws AcsJCannotGetComponentEx |
| Component | internalRequestComponent (int requestor, URI curl, StatusHolder status, boolean activate) throws AcsJCannotGetComponentEx |
| ArrayList | doCycleCheck (int requestor, int requested) |
| void | checkCyclicDependency (int requestor, String requestedComponentName) throws AcsJCyclicDependencyDetectedEx |
| ComponentInfo | internalRequestComponent (int requestor, String name, String type, String code, String containerName, int keepAliveTime, StatusHolder status, boolean activate) throws AcsJCannotGetComponentEx, AcsJSyncLockFailedEx, AcsJComponentSpecIncompatibleWithActiveComponentEx |
| ComponentInfo | internalNoSyncRequestComponent (int requestor, String name, String type, String code, String containerName, int keepAliveTime, StatusHolder status, boolean activate) throws AcsJCannotGetComponentEx, AcsJComponentSpecIncompatibleWithActiveComponentEx |
| int | internalReleaseComponent (int owner, URI curl, boolean force) throws AcsJNoPermissionEx, AcsJBadParameterEx |
| void | internalDeactivateComponent (String name) |
| int | internalReleaseComponent (int owner, int h, boolean force) throws AcsJNoPermissionEx, AcsJBadParameterEx |
| int | internalNoSyncReleaseComponent (int owner, int h, boolean force) throws AcsJNoPermissionEx |
| void | internalNoSyncDeactivateComponent (ComponentInfo componentInfo) |
| ContainerInfo | startUpContainer (String containerName) |
| ContainerInfo | internalNoSyncStartUpContainer (String containerName) |
| void | conditionalShutdownContainer (ContainerInfo containerInfo) |
| Component | internalRestartComponent (int owner, URI curl) throws AcsJNoPermissionEx |
| Component | internalRestartComponent (int owner, int h) throws AcsJNoPermissionEx |
| Component | internalNoSyncRestartComponent (int owner, int h) throws AcsJNoPermissionEx |
| ComponentInfo | internalRequestDefaultComponent (int requestor, String type) throws NoDefaultComponentException |
| String[] | searchDynamicComponent (String[] fieldNames, String[] requiredValues, boolean[] equalityRequired, int[] equalityPoints, IntHolder keepAliveTimeHolder) |
| ComponentInfo | internalRequestDynamicComponent (int requestor, ComponentSpec componentSpec) throws AcsJCannotGetComponentEx, AcsJSyncLockFailedEx, AcsJNoPermissionEx, AcsJIncompleteComponentSpecEx, AcsJInvalidComponentSpecEx, AcsJComponentSpecIncompatibleWithActiveComponentEx |
| void | bind (String name, String type, Object object) |
| void | bind (Context remoteDirectory, String name, String type, Object object) |
| void | rebind (Context remoteDirectory, String name, String type, Object object) |
| Object | lookup (String name, String type) |
| Object | lookup (Context remoteDirectory, String name, String type) |
| void | unbind (String name, String type) |
| void | unbind (Context remoteDirectory, String name, String type) |
| void | cleanupEmptyFContext (Context remoteDirectory, String name) |
| String | getRequestorName (int id) |
| void | checkCURL (URI curl) throws AcsJBadParameterEx |
| void | checkCURL (URI curl, boolean allowNonLocalDomains) throws AcsJBadParameterEx |
| boolean | isLocalDomainCURL (URI curl) |
| String | extractName (URI curl) |
| boolean | acquireSynchronizationObject (String name, long msec) |
| void | releaseSynchronizationObject (String name) |
| void | releaseSynchronizationObject (String name, boolean release) |
| synchronized DAOProxy | getManagerDAOProxy () |
| void | readManagerConfiguration () |
| synchronized void | destroyManagerDAOProxy () |
| synchronized DAOProxy | getComponentsDAOProxy () |
| String[] | getComponentsList () |
| String[] | refreshComponentsList (DAOProxy dc) |
| synchronized void | destroyComponetsDAOProxy () |
| synchronized DAOProxy | getContainersDAOProxy () |
| synchronized void | destroyContainersDAOProxy () |
| DAOProxy | createDAO (String entity) |
| String | readStringCharacteristics (DAOProxy dao, String path) |
| String | readStringCharacteristics (DAOProxy dao, String path, boolean silent) |
| int | readLongCharacteristics (DAOProxy dao, String path, int defaultValue, boolean silent) |
| double | readDoubleCharacteristics (DAOProxy dao, String path, double defaultValue, boolean silent) |
| void | destroyDAO (DAOProxy dao) |
| synchronized Manager | getManagerForDomain (String domainName) |
| void | finalizeFederation () |
| Serializable | executeCommand (Command command) throws NoResourcesException |
Static Private Member Functions | |
| static String | dottedToHierarchical (String dottedName) |
| static String | convertToHiearachical (String componentName) |
Private Attributes | |
| String | domain = DEFAULT_DOMAIN |
| int | handle = MANAGER_MASK |
| HandleDataStore | clients = new HandleDataStore(16, HANDLE_MASK) |
| HandleDataStore | administrators = new HandleDataStore(16, HANDLE_MASK) |
| HandleDataStore | containers = new HandleDataStore(32, HANDLE_MASK) |
| HandleDataStore | components = new HandleDataStore(128, HANDLE_MASK) |
| Map | releasedHandles = new HashMap() |
| Map | unavailableComponents = new HashMap() |
| transient Map | pendingActivations = null |
| transient Set | pendingContainerShutdown = null |
| transient Object | containerLoggedInMonitor = null |
| Map | defaultComponents = new HashMap() |
| transient Random | random = null |
| transient Timer | heartbeatTask = null |
| transient Timer | delayedDeactivationTask = null |
| transient Context | remoteDirectory = null |
| transient Object | managerComponentReference = null |
| transient Object | remoteDirectoryComponentReference = null |
| transient Map | activationSynchronization |
| transient ReaderPreferenceReadWriteLock | activationPendingRWLock |
| transient AtomicBoolean | shutdown |
| transient ThreadPoolExecutor | threadPool |
| transient int | poolThreads |
| transient long | lockTimeout |
| transient int | clientPingInterval |
| transient int | administratorPingInterval |
| transient int | containerPingInterval |
| transient ManagerShutdown | shutdownImplementation = null |
| transient CDBAccess | cdbAccess = null |
| transient DAOProxy | managerDAO = null |
| transient DAOProxy | componentsDAO = null |
| transient DAOProxy | containersDAO = null |
| transient String[] | componentListCache = null |
| transient ComponentSpec | cdbActivation = null |
| transient LoadBalancingStrategy | loadBalancingStrategy = null |
| transient boolean | enableHandleMonitoring |
| transient boolean | federationEnabled = false |
| transient Context | federationDirectory = null |
| HashSet | domains = new HashSet() |
| transient Map | managerCache = null |
| transient Prevayler | prevayler = null |
| transient Transport | transport = null |
| transient ComponentInfoTopologicalSortManager | topologySortManager |
| transient Logger | logger |
| transient ACSAlarmSystemInterface | alarmSource |
| HashSet | activeAlarms = new HashSet() |
| transient long | lastExecutionId = 0 |
| transient volatile AtomicBoolean | prevaylerAlarmState |
| volatile int | originalId = MANAGER_MASK |
| volatile int | originalContainers = 0 |
Static Private Attributes | |
| static final long | serialVersionUID = 1372046383416324709L |
| static final ObjectStreamField[] | serialPersistentFields |
| static final int | INTERDOMAIN_MANAGER_HANDLE = 0x05555555 |
| static final String | DEFAULT_DOMAIN = "" |
| static final int | CONTAINER_RIGHTS = AccessRights.NONE |
| static final String | NAME_CDB_COMPONENTSPEC = "ACS.CDBComponentSpec" |
| static final String | NAME_LOAD_BALANCING_STRATEGY = "ACS.LoadBalancingStrategy" |
| static final String | NAME_CDB_DISABLE = "ACS.disableCDB" |
| static final String | NAME_HANDLE_MONITORING = "manager.debug.rememberOldHandles" |
| static final String | CURL_URI_SCHEMA = "curl://" |
| static final String | NAME_DOMAIN_LIST = "ACS.domains" |
| static final String | NAME_DOMAIN_DIRECTORY = "ACS.federationDirectory" |
| static transient SimpleDateFormat | timeFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS") |
This class is an implementation of MACI com.cosylab.acs.maci.Manager. It provides the actual internal implementation of the Manager functionality in a way independent from the ACS maci Manager IDL interface.
| boolean com::cosylab::acs::maci::manager::ManagerImpl::acquireSynchronizationObject | ( | String | name, | |
| long | msec | |||
| ) | [inline, private] |
Acquire synchronization lock for named object.
| name | name of the object whose lock to acquire. | |
| msecs | the number of milleseconds to wait. An argument less than or equal to zero means not to wait at all. |
true if acquired, false othwerwise. References com::cosylab::acs::maci::manager::ManagerImpl::ReferenceCountingLock::acquire(), activationSynchronization, com::cosylab::acs::maci::manager::ManagerImpl::ReferenceCountingLock::increment(), and releaseSynchronizationObject().
Referenced by internalDeactivateComponent(), internalReleaseComponent(), internalRequestComponent(), internalRestartComponent(), and startUpContainer().
| void com::cosylab::acs::maci::manager::ManagerImpl::addComponentOwner | ( | int | componentHandle, | |
| int | owner | |||
| ) | [inline, private] |
Add component handle to the owners list.
| componentHandle | component handle to be addd to the owners list. | |
| owner | owner whom to add the ownership. |
References clients, com::cosylab::acs::maci::HandleConstants::COMPONENT_MASK, components, com::cosylab::acs::maci::IntArray::contains(), executeCommand(), getClientInfo(), getComponentInfo(), com::cosylab::acs::maci::ClientInfo::getComponents(), com::cosylab::acs::maci::ComponentInfo::getComponents(), com::cosylab::acs::maci::HandleConstants::HANDLE_MASK, and com::cosylab::acs::maci::HandleConstants::TYPE_MASK.
Referenced by internalNoSyncRequestComponent().
| ClientInfo com::cosylab::acs::maci::manager::ManagerImpl::administratorLogin | ( | String | name, | |
| AuthenticationData | reply, | |||
| Administrator | administrator, | |||
| long | timeStamp, | |||
| long | executionId | |||
| ) | throws AcsJNoPermissionEx [inline, private] |
Administrator specific login method.
| name | name of the administrator | |
| reply | reply to authenticate method | |
| administrator | administrator that is logging in |
References com::cosylab::acs::maci::HandleConstants::ADMINISTRATOR_MASK, administratorPingInterval, administrators, executeCommand(), com::cosylab::acs::maci::manager::HandleDataStore::first, com::cosylab::acs::maci::manager::HandleDataStore::get(), com::cosylab::acs::maci::ClientInfo::getClient(), handle, heartbeatTask, logger, com::cosylab::acs::maci::manager::HandleDataStore::next(), notifyClientLogin(), random, com::cosylab::acs::maci::ClientInfo::setAccessRights(), and com::cosylab::acs::maci::manager::TimerTaskClientInfo::setTask().
Referenced by login().
| void com::cosylab::acs::maci::manager::ManagerImpl::administratorLogout | ( | int | id, | |
| boolean | pingFailed | |||
| ) | [inline, private] |
Administrator specific logout method
| id | handle of the administrators. | |
| pingFailed | flag indicating that ping has failed (i.e. is the reason of this logout). |
TODO !!!!!!!!!!!!!! no more handle -> componentInfo data
References administrators, executeCommand(), com::cosylab::acs::maci::manager::HandleDataStore::get(), com::cosylab::acs::maci::ClientInfo::getComponents(), com::cosylab::acs::maci::ClientInfo::getHandle(), com::cosylab::acs::maci::ClientInfo::getName(), com::cosylab::acs::maci::manager::TimerTaskClientInfo::getTask(), handle, com::cosylab::acs::maci::HandleConstants::HANDLE_MASK, com::cosylab::acs::maci::manager::HandleDataStore::isAllocated(), logger, notifyClientLogout(), threadPool, and com::cosylab::acs::maci::IntArray::toArray().
Referenced by logout().
| void com::cosylab::acs::maci::manager::ManagerImpl::alarmCleared | ( | String | faultMember | ) | [inline] |
Remember that alarms has been cleared.
References activeAlarms, and executeCommand().
Referenced by com::cosylab::acs::maci::manager::PingTimerTask::send_alarm().
| void com::cosylab::acs::maci::manager::ManagerImpl::alarmRaised | ( | String | faultMember | ) | [inline] |
Remember that alarms has been raised.
References activeAlarms, and executeCommand().
Referenced by com::cosylab::acs::maci::manager::PingTimerTask::send_alarm().
| void com::cosylab::acs::maci::manager::ManagerImpl::autoStartComponents | ( | ) | [inline, private] |
Checks for autostart components that are to be hosed by autostart containers.
References com::cosylab::acs::maci::ComponentStatus::COMPONENT_ACTIVATED, componentsDAO, containersDAO, com::cosylab::cdb::client::DAOProxy::get_field_data(), com::cosylab::cdb::client::DAOProxy::get_string_seq(), getComponentsDAOProxy(), getComponentsList(), getContainersDAOProxy(), getHandle(), getManagerDAOProxy(), com::cosylab::acs::maci::StatusHolder::getStatus(), internalRequestComponent(), logger, readStringCharacteristics(), reportException(), and startUpContainer().
Referenced by initializationDone().
| void com::cosylab::acs::maci::manager::ManagerImpl::bind | ( | Context | remoteDirectory, | |
| String | name, | |||
| String | type, | |||
| Object | object | |||
| ) | [inline, private] |
Bind object to remote directory.
Use INS syntax specified in the INS specification. In short, the syntax is that components are left-to-right slash ('/') separated and case-sensitive. The id and kind of each component are separated by the period character ('.').
| remoteDirectory | remote directory context to be used. | |
| name | name of the object, code non-null | |
| object | object to be binded |
References bind(), CURL_URI_SCHEMA, logger, and rebind().
| void com::cosylab::acs::maci::manager::ManagerImpl::bind | ( | String | name, | |
| String | type, | |||
| Object | object | |||
| ) | [inline, private] |
Bind object to root of remote directory.
Use INS syntax specified in the INS specification. In short, the syntax is that components are left-to-right slash ('/') separated and case-sensitive. The id and kind of each component are separated by the period character ('.').
| name | name of the object, code non-null | |
| object | object to be binded |
References remoteDirectory.
Referenced by bind(), initializeFederation(), internalNoSyncRequestComponent(), registerComponent(), and setManagerComponentReference().
| void com::cosylab::acs::maci::manager::ManagerImpl::checkContainerShutdownState | ( | ContainerInfo | containerInfo | ) | throws NoResourcesException [inline, private] |
Checks if container's state (e.g. not in shutdown state).
| containerInfo | container's info to be checked. |
References pendingContainerShutdown.
Referenced by internalNoSyncRequestComponent(), and internalNoSyncRestartComponent().
| void com::cosylab::acs::maci::manager::ManagerImpl::checkCURL | ( | URI | curl, | |
| boolean | allowNonLocalDomains | |||
| ) | throws AcsJBadParameterEx [inline, private] |
Verifies URI if it is valid, in CURL format; also checks if it belongs to this domain. If URI is not valid, BadParametersException exception is thrown.
| uri | uri to be check to be a valid curl | |
| allowNonLocalDomains | allow non-local domains |
References CURL_URI_SCHEMA, domain, domains, isLocalDomainCURL(), alma::ACSErrTypeCommon::wrappers::AcsJBadParameterEx::setParameter(), and alma::ACSErrTypeCommon::wrappers::AcsJBadParameterEx::setParameterValue().
| void com::cosylab::acs::maci::manager::ManagerImpl::checkCURL | ( | URI | curl | ) | throws AcsJBadParameterEx [inline, private] |
Verifies URI if it is valid, in CURL format; also checks if it belongs to this domain. If URI is not valid, BadParametersException exception is thrown. Allows non-local domains.
| uri | uri to be check to be a valid curl |
Referenced by containerPostLoginActivation(), forceReleaseComponent(), getComponent(), getComponentNonSticky(), makeComponentImmortal(), registerComponent(), releaseComponent(), and restartComponent().
| void com::cosylab::acs::maci::manager::ManagerImpl::checkCyclicDependency | ( | int | requestor, | |
| String | requestedComponentName | |||
| ) | throws AcsJCyclicDependencyDetectedEx [inline, private] |
Check for cyclic dependency between components, if detected NoResourcesException exception is thrown.
| requestor | ||
| requestedComponentName |
References com::cosylab::acs::maci::HandleConstants::COMPONENT_MASK, components, doCycleCheck(), com::cosylab::acs::maci::manager::HandleDataStore::first, com::cosylab::acs::maci::manager::HandleDataStore::get(), com::cosylab::acs::maci::ComponentInfo::getHandle(), com::cosylab::acs::maci::ComponentInfo::getName(), com::cosylab::acs::maci::manager::HandleDataStore::next(), pendingActivations, alma::jmanagerErrType::wrappers::AcsJCyclicDependencyDetectedEx::setCURL(), alma::jmanagerErrType::wrappers::AcsJCyclicDependencyDetectedEx::setRequestor(), and com::cosylab::acs::maci::HandleConstants::TYPE_MASK.
Referenced by internalRequestComponent().
| void com::cosylab::acs::maci::manager::ManagerImpl::checkLoadBalancingStrategy | ( | ) | [inline, private] |
Checks and registers load balancing strategy. Load balancing strategy is defined as Java JVM system property named NAME_LOAD_BALANCING_STRATEGY contaning class name of the LoadBalancingStrategy implementation.
References loadBalancingStrategy, logger, and NAME_LOAD_BALANCING_STRATEGY.
Referenced by initialize().
| void com::cosylab::acs::maci::manager::ManagerImpl::cleanupEmptyFContext | ( | Context | remoteDirectory, | |
| String | name | |||
| ) | [inline, private] |
| ClientInfo com::cosylab::acs::maci::manager::ManagerImpl::clientLogin | ( | String | name, | |
| AuthenticationData | reply, | |||
| Client | client, | |||
| long | timeStamp, | |||
| long | executionId | |||
| ) | throws AcsJNoPermissionEx [inline, private] |
Client specific login method.
| name | name of the client | |
| reply | reply to authenticate method | |
| client | client that is logging in |
References com::cosylab::acs::maci::HandleConstants::CLIENT_MASK, clientPingInterval, clients, executeCommand(), com::cosylab::acs::maci::manager::HandleDataStore::first, com::cosylab::acs::maci::manager::HandleDataStore::get(), com::cosylab::acs::maci::ClientInfo::getClient(), handle, heartbeatTask, logger, com::cosylab::acs::maci::manager::HandleDataStore::next(), notifyClientLogin(), random, com::cosylab::acs::maci::ClientInfo::setAccessRights(), and com::cosylab::acs::maci::manager::TimerTaskClientInfo::setTask().
Referenced by login().
| void com::cosylab::acs::maci::manager::ManagerImpl::clientLogout | ( | int | id, | |
| boolean | pingFailed | |||
| ) | [inline, private] |
Client specific logout method
| id | handle of the client. | |
| pingFailed | flag indicating that ping has failed (i.e. is the reason of this logout). |
TODO !!!!!!!!!!!!!! no more handle -> componentInfo data
References clients, executeCommand(), com::cosylab::acs::maci::manager::HandleDataStore::get(), com::cosylab::acs::maci::ClientInfo::getComponents(), com::cosylab::acs::maci::ClientInfo::getHandle(), com::cosylab::acs::maci::ClientInfo::getName(), com::cosylab::acs::maci::manager::TimerTaskClientInfo::getTask(), handle, com::cosylab::acs::maci::HandleConstants::HANDLE_MASK, com::cosylab::acs::maci::manager::HandleDataStore::isAllocated(), logger, notifyClientLogout(), threadPool, and com::cosylab::acs::maci::IntArray::toArray().
Referenced by logout().
| void com::cosylab::acs::maci::manager::ManagerImpl::conditionalShutdownContainer | ( | ContainerInfo | containerInfo | ) | [inline, private] |
Conditionally (if has no components and is not immortal container) shutdown container.
| containerInfo | container to shutdown. |
References delayedDeactivationTask, com::cosylab::acs::maci::ContainerInfo::getComponents(), getContainersDAOProxy(), com::cosylab::acs::maci::ContainerInfo::getName(), readLongCharacteristics(), com::cosylab::acs::maci::ManagerConstants::RELEASE_NEVER, and com::cosylab::acs::maci::IntArray::size().
Referenced by internalNoSyncDeactivateComponent().
| void com::cosylab::acs::maci::manager::ManagerImpl::containerInternalStateMerge | ( | ContainerInfo | containerInfo, | |
| boolean | recoverContainer | |||
| ) | throws AcsJNoPermissionEx [inline, private] |
Retrieve container's internal state and merge it with manager's. NOTE: this method should not be run in separate thread since states should be merged synchronously. Merge is split to two parts:
If container component handle is also allocated in manager state and components information match, then we have a perfect fit and no action is required. If they do not match, container is rejected. If container component handle is not allocated in the manager state and no component with same name is found in manager state, component information is transferred to the manager, owtherwise container is rejected.
NOTE: The second option allows components without owners to be activated.
NOTE: Container is rejected due to its state inconsistency which will probably cause problems in the future. Container has to be restarted.
(A more sophisticated algorithm could give manager "the power to shape up" container state.)
NOTE: Container -> Manager has to work in the way transactions do, i.e. in case of rejection manager state should no be affected.
If recoverContainer is true, all components known to the manager to be activated on this particular container and listed as activated by the container will be marked as unavailable to be reactivated later by containerPostLoginActivation method. If recoverContainer is false, all there information will be discared (components removed from container component list, deallocated, and removed from their owners list).
| containerInfo | container info for which to perform merge, non-null. | |
| recoverContainer | if true manager state will be 'transferred' to container. |
References clients, com::cosylab::acs::maci::HandleConstants::COMPONENT_MASK, components, executeCommand(), com::cosylab::acs::maci::manager::HandleDataStore::first, com::cosylab::acs::maci::IntArray::get(), com::cosylab::acs::maci::manager::HandleDataStore::get(), com::cosylab::acs::maci::ComponentInfo::getClients(), com::cosylab::acs::maci::ComponentInfo::getCode(), getComponent(), com::cosylab::acs::maci::ComponentInfo::getComponent(), com::cosylab::acs::maci::ComponentInfo::getContainer(), com::cosylab::acs::maci::ComponentInfo::getHandle(), getHandle(), com::cosylab::acs::maci::ComponentInfo::getInterfaces(), com::cosylab::acs::maci::ComponentInfo::getName(), com::cosylab::acs::maci::ComponentInfo::getType(), handle, com::cosylab::acs::maci::HandleConstants::HANDLE_MASK, hasCDBEntry(), com::cosylab::acs::maci::manager::HandleDataStore::isAllocated(), logger, makeUnavailable(), com::cosylab::acs::maci::manager::HandleDataStore::next(), notifyComponentAvailable(), com::cosylab::acs::maci::manager::ComponentInfoTopologicalSortManager::notifyTopologyChange(), com::cosylab::acs::maci::IntArray::remove(), removeComponentOwner(), com::cosylab::acs::maci::ComponentInfo::setAccessRights(), com::cosylab::acs::maci::ComponentInfo::setComponent(), com::cosylab::acs::maci::ComponentInfo::setContainer(), com::cosylab::acs::maci::ComponentInfo::setContainerName(), com::cosylab::acs::maci::ComponentInfo::setDynamic(), com::cosylab::acs::maci::ComponentInfo::setDynamicContainerName(), alma::maciErrType::wrappers::AcsJNoPermissionEx::setID(), com::cosylab::acs::maci::ComponentInfo::setInterfaces(), alma::maciErrType::wrappers::AcsJNoPermissionEx::setProtectedResource(), alma::maciErrType::wrappers::AcsJNoPermissionEx::setReason(), com::cosylab::acs::maci::IntArray::size(), com::cosylab::acs::maci::IntArray::toArray(), topologySortManager, and unavailableComponents.
Referenced by containerLogin().
| ClientInfo com::cosylab::acs::maci::manager::ManagerImpl::containerLogin | ( | String | name, | |
| AuthenticationData | reply, | |||
| Container | container, | |||
| long | timeStamp, | |||
| long | executionId | |||
| ) | throws AcsJNoPermissionEx [inline, private] |
Container specific login method.
| name | name of the container, non-null. | |
| reply | reply to authenticate method, non-null. | |
| container | container that is logging in, non-null. |
References alarmSource, com::cosylab::acs::maci::HandleConstants::CONTAINER_MASK, containerInternalStateMerge(), containerPingInterval, containerPostLoginActivation(), containers, com::cosylab::acs::maci::manager::TimerTaskContainerInfo::createClientInfo(), executeCommand(), com::cosylab::acs::maci::manager::HandleDataStore::first, com::cosylab::acs::maci::manager::HandleDataStore::get(), com::cosylab::acs::maci::ContainerInfo::getContainer(), getContainersDAOProxy(), com::cosylab::acs::maci::ContainerInfo::getHandle(), com::cosylab::acs::maci::ContainerInfo::getName(), com::cosylab::acs::maci::ContainerInfo::getPingInterval(), com::cosylab::acs::maci::Client::getRemoteLocation(), handle, heartbeatTask, logger, com::cosylab::acs::maci::manager::HandleDataStore::next(), notifyContainerLogin(), com::cosylab::acs::maci::Client::ping(), random, readLongCharacteristics(), readStringCharacteristics(), alma::maciErrType::wrappers::AcsJNoPermissionEx::setID(), com::cosylab::acs::maci::ContainerInfo::setImplLang(), com::cosylab::acs::maci::ContainerInfo::setPingInterval(), alma::maciErrType::wrappers::AcsJNoPermissionEx::setProtectedResource(), alma::maciErrType::wrappers::AcsJNoPermissionEx::setReason(), com::cosylab::acs::maci::manager::TimerTaskContainerInfo::setTask(), and threadPool.
Referenced by login().
| void com::cosylab::acs::maci::manager::ManagerImpl::containerLogout | ( | int | id, | |
| boolean | pingFailed | |||
| ) | [inline, private] |
Container specific logout method
| id | handle of the container. | |
| pingFailed | flag indicating that ping has failed (i.e. is the reason of this logout). |
TODO !!!!!!!!!!!!!! no more handle -> componentInfo data
References components, containers, executeCommand(), com::cosylab::acs::maci::manager::HandleDataStore::get(), com::cosylab::acs::maci::ContainerInfo::getComponents(), com::cosylab::acs::maci::ContainerInfo::getName(), com::cosylab::acs::maci::manager::TimerTaskContainerInfo::getTask(), handle, com::cosylab::acs::maci::HandleConstants::HANDLE_MASK, com::cosylab::acs::maci::manager::HandleDataStore::isAllocated(), logger, makeUnavailable(), notifyContainerLogout(), com::cosylab::acs::maci::IntArray::toArray(), and unavailableComponents.
Referenced by logout().
| void com::cosylab::acs::maci::manager::ManagerImpl::containerPostLoginActivation | ( | final ContainerInfo | containerInfo, | |
| boolean | recoverContainer | |||
| ) | [inline, private] |
Container post login activation, activate startup and unavailable components. NOTE: to be run in separate thread.
| containerInfo | container info for which to perform post login activation. | |
| recoverContainer | recovery mode flag. |
References cdbActivation, checkCURL(), com::cosylab::acs::maci::ComponentStatus::COMPONENT_ACTIVATED, components, componentsDAO, containerLoggedInMonitor, com::cosylab::acs::maci::IntArray::contains(), convertToHiearachical(), executeCommand(), extractName(), com::cosylab::cdb::client::DAOProxy::get_field_data(), com::cosylab::cdb::client::DAOProxy::get_string_seq(), com::cosylab::acs::maci::ComponentInfo::getClients(), com::cosylab::acs::maci::ComponentSpec::getCode(), com::cosylab::acs::maci::ComponentInfo::getComponent(), com::cosylab::acs::maci::ContainerInfo::getComponents(), getComponentsDAOProxy(), getComponentsList(), com::cosylab::acs::maci::ContainerInfo::getContainer(), com::cosylab::acs::maci::ComponentSpec::getContainer(), com::cosylab::acs::maci::ComponentInfo::getDynamicContainerName(), com::cosylab::acs::maci::ContainerInfo::getHandle(), com::cosylab::acs::maci::ComponentInfo::getHandle(), getHandle(), com::cosylab::acs::maci::ContainerInfo::getImplLang(), getManagerDAOProxy(), com::cosylab::acs::maci::ComponentInfo::getName(), com::cosylab::acs::maci::ComponentSpec::getName(), com::cosylab::acs::maci::ContainerInfo::getName(), com::cosylab::acs::maci::StatusHolder::getStatus(), com::cosylab::acs::maci::ComponentSpec::getType(), com::cosylab::acs::maci::HandleConstants::HANDLE_MASK, internalRequestComponent(), com::cosylab::acs::maci::ComponentInfo::isDynamic, isShuttingDown(), logger, readStringCharacteristics(), com::cosylab::acs::maci::ManagerConstants::RELEASE_IMMEDIATELY, removeComponentOwner(), reportException(), sendMessage(), com::cosylab::acs::maci::IntArray::toArray(), unavailableComponents, and unbind().
Referenced by containerLogin().
| static String com::cosylab::acs::maci::manager::ManagerImpl::convertToHiearachical | ( | String | componentName | ) | [inline, static, private] |
Converts component name (e.g. "TOWER1/DOOR1") to hierachical name (e.g. "TOWER1.F/DOOR").
| component | name component name to be converted. |
Referenced by containerPostLoginActivation(), internalNoSyncDeactivateComponent(), internalNoSyncRequestComponent(), and registerComponent().
| DAOProxy com::cosylab::acs::maci::manager::ManagerImpl::createDAO | ( | String | entity | ) | [inline, private] |
Creates DAO (CDB access) for requested entity.
| name | name of the entity, non-null. |
null on failure. References cdbAccess, com::cosylab::cdb::client::CDBAccess::createDAO(), and logger.
Referenced by getComponentsDAOProxy(), getContainersDAOProxy(), and getManagerDAOProxy().
| synchronized void com::cosylab::acs::maci::manager::ManagerImpl::destroyComponetsDAOProxy | ( | ) | [inline, private] |
Destroys components DAO (CDB access).
References componentsDAO, and destroyDAO().
Referenced by setCDBAccess(), and shutdown().
| synchronized void com::cosylab::acs::maci::manager::ManagerImpl::destroyContainersDAOProxy | ( | ) | [inline, private] |
Destroys containers DAO (CDB access).
References containersDAO, and destroyDAO().
Referenced by shutdown().
| void com::cosylab::acs::maci::manager::ManagerImpl::destroyDAO | ( | DAOProxy | dao | ) | [inline, private] |
Destroys DAO (CDB access).
| dao | DAO to be destroyed. |
References com::cosylab::cdb::client::DAOProxy::destroy(), and logger.
Referenced by destroyComponetsDAOProxy(), destroyContainersDAOProxy(), and destroyManagerDAOProxy().
| synchronized void com::cosylab::acs::maci::manager::ManagerImpl::destroyManagerDAOProxy | ( | ) | [inline, private] |
Destroys Manager DAO (CDB access).
References destroyDAO(), and managerDAO.
Referenced by setCDBAccess(), and shutdown().
| ArrayList com::cosylab::acs::maci::manager::ManagerImpl::doCycleCheck | ( | int | requestor, | |
| int | requested | |||
| ) | [inline, private] |
Check for cyclic dependency between components, if detected path is returned.
| requestor | handle of requestor component | |
| requested | handle of requested component |
null References components, com::cosylab::acs::maci::manager::HandleDataStore::get(), com::cosylab::acs::maci::ComponentInfo::getComponents(), com::cosylab::acs::maci::HandleConstants::HANDLE_MASK, and com::cosylab::acs::maci::IntArray::toArray().
Referenced by checkCyclicDependency().
| static String com::cosylab::acs::maci::manager::ManagerImpl::dottedToHierarchical | ( | String | dottedName | ) | [inline, static, private] |
Converts dotted name (e.g. "te1.hq.eso.org") to hierachical name (e.g. "org.D/eso.D/hq.D/te1.D").
| dottedName | dotted name to be converted. |
Referenced by finalizeFederation(), getManagerForDomain(), and initializeFederation().
| Serializable com::cosylab::acs::maci::manager::ManagerImpl::executeCommand | ( | Command | command | ) | throws NoResourcesException [inline, private] |
| command |
References prevayler, and reportPrevaylerState().
Referenced by addComponentOwner(), administratorLogin(), administratorLogout(), alarmCleared(), alarmRaised(), clientLogin(), clientLogout(), containerInternalStateMerge(), containerLogin(), containerLogout(), containerPostLoginActivation(), getCollocatedComponent(), getDynamicComponent(), internalNoSyncDeactivateComponent(), internalNoSyncReleaseComponent(), internalNoSyncRequestComponent(), makeComponentImmortal(), makeUnavailable(), registerComponent(), and removeComponentOwner().
| String com::cosylab::acs::maci::manager::ManagerImpl::extractName | ( | URI | curl | ) | [inline, private] |
Extract component name from the URI. Only name is returned for local domain, full CURL string for non-local domains.
| curl | curl from which to extract name. |
References isLocalDomainCURL().
Referenced by containerPostLoginActivation(), getCollocatedComponent(), getComponent(), getComponentInfo(), getComponentNonSticky(), internalReleaseComponent(), internalRequestComponent(), internalRestartComponent(), makeComponentImmortal(), and registerComponent().
| void com::cosylab::acs::maci::manager::ManagerImpl::finalizeFederation | ( | ) | [inline, private] |
Finalize manager federation.
References domains, dottedToHierarchical(), federationDirectory, federationEnabled, and unbind().
Referenced by shutdown().
| int com::cosylab::acs::maci::manager::ManagerImpl::forceReleaseComponent | ( | int | id, | |
| URI | curl | |||
| ) | throws AcsJNoPermissionEx, AcsJBadParameterEx [inline] |
Implements com::cosylab::acs::maci::Manager.
References checkCURL(), getRequestorName(), internalReleaseComponent(), logger, and securityCheck().
Referenced by com::cosylab::acs::maci::test::ManagerImplTest::testForceReleaseComponent().
| synchronized long com::cosylab::acs::maci::manager::ManagerImpl::generateExecutionId | ( | ) | [inline, protected] |
References lastExecutionId.
Referenced by internalNoSyncRequestComponent(), and login().
| HashSet com::cosylab::acs::maci::manager::ManagerImpl::getActiveAlarms | ( | ) | [inline] |
References activeAlarms.
| HandleDataStore com::cosylab::acs::maci::manager::ManagerImpl::getAdministrators | ( | ) | [inline] |
Returns the administrators.
References administrators.
Referenced by notifyClientLogin(), notifyClientLogout(), notifyComponentActivated(), notifyComponentDeactivated(), notifyComponentReleased(), notifyComponentRequested(), notifyContainerLogin(), and notifyContainerLogout().
| ClientInfo [] com::cosylab::acs::maci::manager::ManagerImpl::getAdministrators | ( | int | excludeHandle | ) | [inline, private] |
Returns array of currently logged administrators.
| excludeHandle | handle of administrator not to be included in the array, can be 0. |
References administrators, com::cosylab::acs::maci::manager::HandleDataStore::first, com::cosylab::acs::maci::manager::HandleDataStore::get(), com::cosylab::acs::maci::ClientInfo::getHandle(), com::cosylab::acs::maci::manager::HandleDataStore::next(), and com::cosylab::acs::maci::manager::HandleDataStore::size.
| ClientInfo com::cosylab::acs::maci::manager::ManagerImpl::getClientInfo | ( | int | id | ) | [inline] |
Get client info. for specified id of Client or Administrator.
| id | handle of the client whose info. should be returned | |
| returns | requested info, null if client with requested handle does not exits |
References com::cosylab::acs::maci::HandleConstants::ADMINISTRATOR_MASK, administrators, com::cosylab::acs::maci::HandleConstants::CLIENT_MASK, clients, com::cosylab::acs::maci::manager::HandleDataStore::get(), handle, com::cosylab::acs::maci::HandleConstants::HANDLE_MASK, com::cosylab::acs::maci::manager::HandleDataStore::isAllocated(), and com::cosylab::acs::maci::HandleConstants::TYPE_MASK.
| ClientInfo [] com::cosylab::acs::maci::manager::ManagerImpl::getClientInfo | ( | ) | [inline, private] |
Returns array of currently logged clients.
References administrators, clients, com::cosylab::acs::maci::manager::HandleDataStore::first, com::cosylab::acs::maci::manager::HandleDataStore::get(), and com::cosylab::acs::maci::manager::HandleDataStore::next().
Referenced by addComponentOwner(), getClientInfo(), getClients(), internalRequestDynamicComponent(), notifyClientDisconnectShutdown(), and removeComponentOwner().
| ClientInfo [] com::cosylab::acs::maci::manager::ManagerImpl::getClientInfo | ( | int | id, | |
| int[] | handles, | |||
| String | name_wc | |||
| ) | throws AcsJNoPermissionEx [inline] |
Implements com::cosylab::acs::maci::Manager.
References administrators, clients, com::cosylab::acs::maci::manager::HandleDataStore::first, com::cosylab::acs::maci::manager::HandleDataStore::get(), getClientInfo(), com::cosylab::acs::maci::ClientInfo::getName(), com::cosylab::acs::maci::manager::HandleDataStore::next(), and securityCheck().
Referenced by com::cosylab::acs::maci::test::ManagerImplTest::testClientInfo(), com::cosylab::acs::maci::test::ManagerImplTest::testContainerInfo(), and com::cosylab::acs::maci::test::ManagerImplTest::testGetComponent().
| HandleDataStore com::cosylab::acs::maci::manager::ManagerImpl::getClients | ( | ) | [inline] |
Returns the clients.
References clients.
Referenced by notifyComponentAvailable(), and notifyComponentUnavailable().
| ClientInfo [] com::cosylab::acs::maci::manager::ManagerImpl::getClients | ( | int | excludeHandle, | |
| int[] | handles | |||
| ) | [inline, private] |
Get client info. for specified handles of Client or Administrator. For Component handles component's Container is returned.
| excludeHandle | handle of client not to be included in the array, can be 0. | |
| handles | handles of the clients whose info. should be returned, non-null. | |
| returns | requested infos, null if none |
References clients, com::cosylab::acs::maci::HandleConstants::COMPONENT_MASK, getClientInfo(), getComponentInfo(), com::cosylab::acs::maci::ContainerInfo::getContainer(), com::cosylab::acs::maci::ComponentInfo::getContainer(), getContainerInfo(), com::cosylab::acs::maci::ContainerInfo::getHandle(), com::cosylab::acs::maci::ContainerInfo::getName(), and com::cosylab::acs::maci::HandleConstants::TYPE_MASK.
Referenced by com::cosylab::acs::maci::test::ManagerImplSerializationTest::testClientDie(), com::cosylab::acs::maci::test::ManagerImplSerializationTest::testClientLogin(), and com::cosylab::acs::maci::test::ManagerImplSerializationTest::testContainerDie().
| ComponentInfo com::cosylab::acs::maci::manager::ManagerImpl::getCollocatedComponent | ( | int | id, | |
| ComponentSpec | componentSpec, | |||
| boolean | markAsDefault, | |||
| URI | targetComponentURI | |||
| ) | throws AcsJCannotGetComponentEx, AcsJNoPermissionEx, AcsJIncompleteComponentSpecEx, AcsJInvalidComponentSpecEx, AcsJComponentSpecIncompatibleWithActiveComponentEx [inline] |
Implements com::cosylab::acs::maci::Manager.
References components, componentsDAO, defaultComponents, executeCommand(), extractName(), com::cosylab::acs::maci::manager::HandleDataStore::first, com::cosylab::acs::maci::manager::HandleDataStore::get(), getComponentsDAOProxy(), com::cosylab::acs::maci::ComponentInfo::getContainerName(), com::cosylab::acs::maci::ComponentInfo::getName(), com::cosylab::acs::maci::ComponentInfo::getType(), internalRequestDynamicComponent(), logger, com::cosylab::acs::maci::manager::HandleDataStore::next(), readStringCharacteristics(), securityCheck(), alma::maciErrType::wrappers::AcsJIncompleteComponentSpecEx::setContainerName(), alma::maciErrType::wrappers::AcsJCannotGetComponentEx::setCURL(), alma::maciErrType::wrappers::AcsJIncompleteComponentSpecEx::setCURL(), alma::ACSErrTypeCommon::wrappers::AcsJBadParameterEx::setParameter(), alma::ACSErrTypeCommon::wrappers::AcsJBadParameterEx::setParameterValue(), alma::maciErrType::wrappers::AcsJCannotGetComponentEx::setReason(), alma::ACSErrTypeCommon::wrappers::AcsJBadParameterEx::setReason(), and alma::ACSErrTypeCommon::wrappers::AcsJNullPointerEx::setVariable().
Referenced by com::cosylab::acs::maci::test::ManagerImplTest::testGetCollocatedComponent().
| Component com::cosylab::acs::maci::manager::ManagerImpl::getComponent | ( | int | id, | |
| URI | curl, | |||
| boolean | activate, | |||
| StatusHolder | status, | |||
| boolean | allowServices | |||
| ) | throws AcsJCannotGetComponentEx, AcsJNoPermissionEx [inline, private] |
References checkCURL(), CURL_URI_SCHEMA, extractName(), com::cosylab::acs::maci::Component::getObject(), getRequestorName(), internalRequestComponent(), isServiceComponent(), logger, lookup(), managerComponentReference, remoteDirectoryComponentReference, securityCheck(), alma::maciErrType::wrappers::AcsJCannotGetComponentEx::setCURL(), and alma::ACSErrTypeCommon::wrappers::AcsJNullPointerEx::setVariable().
| Component com::cosylab::acs::maci::manager::ManagerImpl::getComponent | ( | int | id, | |
| URI | curl, | |||
| boolean | activate, | |||
| StatusHolder | status | |||
| ) | throws AcsJCannotGetComponentEx, AcsJNoPermissionEx [inline] |
Implements com::cosylab::acs::maci::Manager.
Referenced by containerInternalStateMerge(), getComponentInfo(), getService(), com::cosylab::acs::maci::test::ManagerImplTest::internalTestGetHierarchicalComponent(), com::cosylab::acs::maci::test::ManagerImplTest::internalTestGetHierarchicalComponentPassingComponentHandle(), com::cosylab::acs::maci::test::ManagerImplTest::testComponentInfoTopologicalSort(), com::cosylab::acs::maci::test::ManagerImplTest::testComponentKeepAliveTime(), com::cosylab::acs::maci::test::ManagerImplTest::testContainerToManagerStateTransferComponents(), com::cosylab::acs::maci::test::ManagerImplTest::testForceReleaseComponent(), com::cosylab::acs::maci::test::ManagerImplTest::testGetComponent(), com::cosylab::acs::maci::test::ManagerImplTest::testGetCyclicHierachicalComponent(), com::cosylab::acs::maci::test::ManagerImplTest::testGetCyclicHierachicalComponentAllowWithPreactivated(), com::cosylab::acs::maci::test::ManagerImplTest::testGetDynamicComponent(), com::cosylab::acs::maci::test::ManagerImplTest::testMakeComponentMortal(), com::cosylab::acs::maci::test::ManagerImplTest::testManagerShutdownWithComponentDestruction(), com::cosylab::acs::maci::test::ManagerImplTest::testManagerToContainerStateTransferComponents(), com::cosylab::acs::maci::test::ManagerImplTest::testOnDemandContainer(), and com::cosylab::acs::maci::test::ManagerImplTest::testRestartComponent().
| ComponentInfo com::cosylab::acs::maci::manager::ManagerImpl::getComponentInfo | ( | int | id | ) | [inline] |
Get component info. for specified id of Component.
| id | handle of the component whose info. should be returned | |
| returns | requested info, null if component with requested handle does not exits |
References components, com::cosylab::acs::maci::manager::HandleDataStore::get(), handle, com::cosylab::acs::maci::HandleConstants::HANDLE_MASK, and com::cosylab::acs::maci::manager::HandleDataStore::isAllocated().
| ComponentInfo [] com::cosylab::acs::maci::manager::ManagerImpl::getComponentInfo | ( | int | id, | |
| int[] | handles, | |||
| String | name_wc, | |||
| String | type_wc, | |||
| boolean | activeOnly | |||
| ) | throws AcsJNoPermissionEx [inline] |
here to check if CDB is available
name.equals(ComponentSpec.COMPSPEC_ANY) &&
Implements com::cosylab::acs::maci::Manager.
References components, componentsDAO, CURL_URI_SCHEMA, extractName(), com::cosylab::acs::maci::manager::HandleDataStore::first, com::cosylab::acs::maci::manager::HandleDataStore::get(), com::cosylab::cdb::client::DAOProxy::get_field_data(), com::cosylab::acs::maci::ComponentInfo::getComponent(), getComponent(), com::cosylab::acs::maci::Manager::getComponentInfo(), getComponentsDAOProxy(), getComponentsList(), com::cosylab::acs::maci::ComponentInfo::getContainerName(), getManagerForDomain(), com::cosylab::acs::maci::ComponentInfo::getName(), com::cosylab::acs::maci::ComponentInfo::getType(), INTERDOMAIN_MANAGER_HANDLE, logger, com::cosylab::acs::maci::manager::HandleDataStore::next(), readStringCharacteristics(), reportException(), securityCheck(), com::cosylab::acs::maci::ComponentInfo::setContainerName(), and com::cosylab::acs::maci::ComponentInfo::setName().
Referenced by addComponentOwner(), getClients(), internalNoSyncReleaseComponent(), internalNoSyncRequestComponent(), internalRequestDefaultComponent(), com::cosylab::acs::maci::test::ManagerImplTest::internalTestGetHierarchicalComponent(), com::cosylab::acs::maci::test::ManagerImplTest::internalTestGetHierarchicalComponentPassingComponentHandle(), removeComponentOwner(), com::cosylab::acs::maci::test::ManagerImplTest::testAllComponentNames(), com::cosylab::acs::maci::test::ManagerImplTest::testComponentInfo(), com::cosylab::acs::maci::test::ManagerImplTest::testComponentInfoTopologicalSort(), com::cosylab::acs::maci::test::ManagerImplTest::testComponentKeepAliveTime(), com::cosylab::acs::maci::test::ManagerImplTest::testContainerShutdown(), com::cosylab::acs::maci::test::ManagerImplTest::testContainerToManagerStateTransferComponents(), com::cosylab::acs::maci::test::ManagerImplTest::testForceReleaseComponent(), com::cosylab::acs::maci::test::ManagerImplTest::testGetComponent(), com::cosylab::acs::maci::test::ManagerImplTest::testGetCyclicHierachicalComponentAllowWithPreactivated(), com::cosylab::acs::maci::test::ManagerImplTest::testMakeComponentMortal(), com::cosylab::acs::maci::test::ManagerImplTest::testManagerShutdownWithComponentDestruction(), com::cosylab::acs::maci::test::ManagerImplTest::testManagerToContainerStateTransferComponents(), com::cosylab::acs::maci::test::ManagerImplTest::testOnDemandContainerStartupComponents(), and com::cosylab::acs::maci::test::ManagerImplTest::testStartupComponents().
| Component com::cosylab::acs::maci::manager::ManagerImpl::getComponentNonSticky | ( | int | id, | |
| URI | curl | |||
| ) | throws AcsJCannotGetComponentEx, AcsJNoPermissionEx [inline] |
Implements com::cosylab::acs::maci::Manager.
References checkCURL(), components, extractName(), com::cosylab::acs::maci::manager::HandleDataStore::first, com::cosylab::acs::maci::manager::HandleDataStore::get(), com::cosylab::acs::maci::ComponentInfo::getComponent(), com::cosylab::acs::maci::ComponentInfo::getName(), com::cosylab::acs::maci::Component::getObject(), getRequestorName(), logger, com::cosylab::acs::maci::manager::HandleDataStore::next(), securityCheck(), and alma::maciErrType::wrappers::AcsJCannotGetComponentEx::setCURL().
| HandleDataStore com::cosylab::acs::maci::manager::ManagerImpl::getComponents | ( | ) | [inline] |
Returns the components.
References components.
Referenced by com::cosylab::acs::maci::test::ManagerImplTest::testComponentInfoTopologicalSort().
| synchronized DAOProxy com::cosylab::acs::maci::manager::ManagerImpl::getComponentsDAOProxy | ( | ) | [inline, private] |
Returns, if necessary also creates, components DAO (CDB access).
null References com::cosylab::cdb::client::DAOProxy::addConnectionListener(), componentListCache, componentsDAO, createDAO(), NAME_CDB_DISABLE, and refreshComponentsList().
Referenced by autoStartComponents(), containerPostLoginActivation(), getCollocatedComponent(), getComponentInfo(), hasCDBEntry(), internalNoSyncReleaseComponent(), internalNoSyncRequestComponent(), internalRequestDefaultComponent(), searchDynamicComponent(), and setCDBAccess().
| String [] com::cosylab::acs::maci::manager::ManagerImpl::getComponentsList | ( | ) | [inline, private] |
Get list of all components.
References componentListCache.
Referenced by autoStartComponents(), containerPostLoginActivation(), getComponentInfo(), internalRequestDefaultComponent(), and searchDynamicComponent().
| ContainerInfo com::cosylab::acs::maci::manager::ManagerImpl::getContainerInfo | ( | String | name | ) | [inline, private] |
Get container info. for specified name of Container.
| name | name of the container whose info. should be returned, non-null | |
| returns | requested info, null if container with requested handle does not exits |
References containers, com::cosylab::acs::maci::manager::HandleDataStore::first, com::cosylab::acs::maci::manager::HandleDataStore::get(), com::cosylab::acs::maci::ContainerInfo::getName(), and com::cosylab::acs::maci::manager::HandleDataStore::next().
| ContainerInfo com::cosylab::acs::maci::manager::ManagerImpl::getContainerInfo | ( | int | id | ) | [inline, private] |
Get container info. for specified id of Container.
| id | handle of the container whose info. should be returned | |
| returns | requested info, null if container with requested handle does not exits |
References containers, com::cosylab::acs::maci::manager::HandleDataStore::get(), handle, com::cosylab::acs::maci::HandleConstants::HANDLE_MASK, and com::cosylab::acs::maci::manager::HandleDataStore::isAllocated().
| ContainerInfo [] com::cosylab::acs::maci::manager::ManagerImpl::getContainerInfo | ( | int | id, | |
| int[] | handles, | |||
| String | name_wc | |||
| ) | throws AcsJNoPermissionEx [inline] |
Implements com::cosylab::acs::maci::Manager.
References containers, com::cosylab::acs::maci::manager::HandleDataStore::first, com::cosylab::acs::maci::manager::HandleDataStore::get(), com::cosylab::acs::maci::ContainerInfo::getName(), com::cosylab::acs::maci::manager::HandleDataStore::next(), and securityCheck().
Referenced by getClients(), hasCDBEntry(), internalNoSyncDeactivateComponent(), internalNoSyncRequestComponent(), internalNoSyncRestartComponent(), internalNoSyncStartUpContainer(), internalRequestDefaultComponent(), com::cosylab::acs::maci::manager::ManagerImpl::ShutdownContainerTask::run(), shutdownContainer(), startUpContainer(), com::cosylab::acs::maci::test::ManagerImplTest::testContainerInfo(), com::cosylab::acs::maci::test::ManagerImplTest::testOnDemandContainer(), and com::cosylab::acs::maci::test::ManagerImplTest::testOnDemandContainerStartupComponents().
| HandleDataStore com::cosylab::acs::maci::manager::ManagerImpl::getContainers | ( | ) | [inline] |
Returns the containers.
References containers.
Referenced by com::cosylab::acs::maci::test::ManagerImplSerializationTest::testContainerDie().
| synchronized DAOProxy com::cosylab::acs::maci::manager::ManagerImpl::getContainersDAOProxy | ( | ) | [inline, private] |
Returns, if necessary also creates, containers DAO (CDB access).
null References containersDAO, createDAO(), and NAME_CDB_DISABLE.
Referenced by autoStartComponents(), conditionalShutdownContainer(), containerLogin(), and internalNoSyncStartUpContainer().
| ContainerInfo [] com::cosylab::acs::maci::manager::ManagerImpl::getContainersInfo | ( | ) | [inline, private] |
Returns array of currently logged containers.
References containers, com::cosylab::acs::maci::manager::HandleDataStore::first, com::cosylab::acs::maci::manager::HandleDataStore::get(), com::cosylab::acs::maci::manager::HandleDataStore::next(), and com::cosylab::acs::maci::manager::HandleDataStore::size.
Referenced by internalRequestDynamicComponent(), and notifyContainerDisconnectShutdown().
| ComponentInfo com::cosylab::acs::maci::manager::ManagerImpl::getDefaultComponent | ( | int | id, | |
| String | type | |||
| ) | throws AcsJNoPermissionEx, NoDefaultComponentException [inline] |
Implements com::cosylab::acs::maci::Manager.
References internalRequestDefaultComponent(), logger, and securityCheck().
Referenced by com::cosylab::acs::maci::test::ManagerImplTest::testGetDefaultComponent(), and com::cosylab::acs::maci::test::ManagerImplTest::testGetDynamicComponent().
| Map com::cosylab::acs::maci::manager::ManagerImpl::getDefaultComponents | ( | ) | [inline] |
| String com::cosylab::acs::maci::manager::ManagerImpl::getDomain | ( | ) | [inline] |
Implements com::cosylab::acs::maci::Manager.
References domain.
| ComponentInfo com::cosylab::acs::maci::manager::ManagerImpl::getDynamicComponent | ( | int | id, | |
| ComponentSpec | componentSpec, | |||
| boolean | markAsDefault | |||
| ) | throws AcsJCannotGetComponentEx, AcsJNoPermissionEx, AcsJIncompleteComponentSpecEx, AcsJInvalidComponentSpecEx, AcsJComponentSpecIncompatibleWithActiveComponentEx [inline] |
Implements com::cosylab::acs::maci::Manager.
References defaultComponents, executeCommand(), com::cosylab::acs::maci::ComponentInfo::getName(), com::cosylab::acs::maci::ComponentInfo::getType(), internalRequestDynamicComponent(), logger, securityCheck(), alma::maciErrType::wrappers::AcsJCannotGetComponentEx::setCURL(), alma::ACSErrTypeCommon::wrappers::AcsJBadParameterEx::setParameter(), alma::ACSErrTypeCommon::wrappers::AcsJBadParameterEx::setParameterValue(), alma::maciErrType::wrappers::AcsJCannotGetComponentEx::setReason(), alma::ACSErrTypeCommon::wrappers::AcsJBadParameterEx::setReason(), and alma::ACSErrTypeCommon::wrappers::AcsJNullPointerEx::setVariable().
Referenced by getDynamicComponents(), com::cosylab::acs::maci::test::ManagerImplTest::testComponentKeepAliveTime(), and com::cosylab::acs::maci::test::ManagerImplTest::testGetDynamicComponent().
| ComponentInfo [] com::cosylab::acs::maci::manager::ManagerImpl::getDynamicComponents | ( | int | id, | |
| ComponentSpec[] | components | |||
| ) | throws AcsJNoPermissionEx [inline] |
References components, getDynamicComponent(), logger, reportException(), and securityCheck().
| int com::cosylab::acs::maci::manager::ManagerImpl::getHandle | ( | ) | [inline] |
Returns the handle of the Manager.
References handle.
Referenced by autoStartComponents(), containerInternalStateMerge(), containerPostLoginActivation(), com::cosylab::acs::maci::manager::app::ManagerEngine::initializeManager(), internalNoSyncReleaseComponent(), internalNoSyncRequestComponent(), makeComponentImmortal(), registerComponent(), releaseComponent(), releaseComponents(), securityCheck(), com::cosylab::acs::maci::test::ManagerImplTest::testComponentKeepAliveTime(), com::cosylab::acs::maci::test::ManagerImplTest::testMakeComponentMortal(), com::cosylab::acs::maci::test::ManagerImplTest::testManagerShutdownWithComponentDestruction(), and unregisterComponent().
| HandleMonitorEntry com::cosylab::acs::maci::manager::ManagerImpl::getHandleReleaseLog | ( | int | handle | ) | [inline] |
Get handle release log.
| handle |
null if it does not exist. References releasedHandles.
Referenced by securityCheck().
| long com::cosylab::acs::maci::manager::ManagerImpl::getLockTimeout | ( | ) | [inline] |
Returns lock timeout (deadlock detection time) in ms.
References lockTimeout.
Referenced by internalRequestComponent().
| Object com::cosylab::acs::maci::manager::ManagerImpl::getManagerComponentReference | ( | ) | [inline] |
| synchronized DAOProxy com::cosylab::acs::maci::manager::ManagerImpl::getManagerDAOProxy | ( | ) | [inline, private] |
Returns, if necessary also creates, Manager DAO (CDB access).
References createDAO(), managerDAO, and NAME_CDB_DISABLE.
Referenced by autoStartComponents(), containerPostLoginActivation(), initializeServiceDaemons(), isServiceComponent(), readManagerConfiguration(), and setCDBAccess().
| synchronized Manager com::cosylab::acs::maci::manager::ManagerImpl::getManagerForDomain | ( | String | domainName | ) | [inline, private] |
Get manager for given domain.
| domainName | domain name. |
null if not found. References dottedToHierarchical(), federationDirectory, lookup(), and managerCache.
Referenced by getComponentInfo(), internalNoSyncDeactivateComponent(), and internalNoSyncRequestComponent().
| Context com::cosylab::acs::maci::manager::ManagerImpl::getRemoteDirectory | ( | ) | [inline] |
| Object com::cosylab::acs::maci::manager::ManagerImpl::getRemoteDirectoryComponentReference | ( | ) | [inline] |
Returns the remoteDirectoryComponentReference.
References remoteDirectoryComponentReference.
| String com::cosylab::acs::maci::manager::ManagerImpl::getRequestorName | ( | int | id | ) | [inline, private] |
Returns human-readable and meaningful name of handle.
| id | handle to stringifys |
References com::cosylab::acs::maci::HandleConstants::ADMINISTRATOR_MASK, administrators, com::cosylab::acs::maci::HandleConstants::CLIENT_MASK, clients, com::cosylab::acs::maci::HandleConstants::COMPONENT_MASK, components, com::cosylab::acs::maci::HandleConstants::CONTAINER_MASK, containers, com::cosylab::acs::maci::manager::HandleDataStore::get(), com::cosylab::acs::maci::ComponentInfo::getHandle(), com::cosylab::acs::maci::ClientInfo::getHandle(), com::cosylab::acs::maci::ContainerInfo::getHandle(), com::cosylab::acs::maci::ComponentInfo::getName(), com::cosylab::acs::maci::ClientInfo::getName(), com::cosylab::acs::maci::ContainerInfo::getName(), handle, com::cosylab::acs::maci::HandleConstants::HANDLE_MASK, com::cosylab::acs::maci::manager::HandleDataStore::isAllocated(), com::cosylab::acs::maci::HandleConstants::MANAGER_MASK, and com::cosylab::acs::maci::HandleConstants::TYPE_MASK.
Referenced by forceReleaseComponent(), getComponent(), getComponentNonSticky(), and releaseComponent().
| Component com::cosylab::acs::maci::manager::ManagerImpl::getService | ( | int | id, | |
| URI | curl, | |||
| boolean | activate, | |||
| StatusHolder | status | |||
| ) | throws AcsJCannotGetComponentEx, AcsJNoPermissionEx [inline] |
Implements com::cosylab::acs::maci::Manager.
References getComponent().
| ManagerShutdown com::cosylab::acs::maci::manager::ManagerImpl::getShutdownImplementation | ( | ) | [inline] |
| Map com::cosylab::acs::maci::manager::ManagerImpl::getUnavailableComponents | ( | ) | [inline] |
| boolean com::cosylab::acs::maci::manager::ManagerImpl::hasActiveAlarm | ( | String | faultMember | ) | [inline] |
Flag if alarm is active.
References activeAlarms.
Referenced by com::cosylab::acs::maci::manager::PingTimerTask::clear_alarm(), and com::cosylab::acs::maci::manager::PingTimerTask::raise_alarm().
| boolean com::cosylab::acs::maci::manager::ManagerImpl::hasCDBEntry | ( | ComponentInfo | componentInfo | ) | [inline, private] |
Search for CDB entry of given component.
| componentInfo | component info of CDB entry to be found, non-null. |
true, or if it does not exist or there is no CDB available false. References com::cosylab::acs::maci::ComponentInfo::getCode(), getComponentsDAOProxy(), com::cosylab::acs::maci::ComponentInfo::getContainer(), getContainerInfo(), com::cosylab::acs::maci::ComponentInfo::getDynamicContainerName(), com::cosylab::acs::maci::ContainerInfo::getName(), com::cosylab::acs::maci::ComponentInfo::getName(), com::cosylab::acs::maci::ComponentInfo::getType(), com::cosylab::acs::maci::ComponentInfo::isDynamic, and readStringCharacteristics().
Referenced by containerInternalStateMerge().
| void com::cosylab::acs::maci::manager::ManagerImpl::initializationDone | ( | ) | [inline] |
Called from client code after all manager inicialization is done.
References autoStartComponents(), initializeServiceDaemons(), and threadPool.
Referenced by com::cosylab::acs::maci::manager::app::ManagerEngine::initializeManager(), and com::cosylab::acs::maci::test::ManagerImplTest::testOnDemandContainerStartupComponents().
| void com::cosylab::acs::maci::manager::ManagerImpl::initialize | ( | Prevayler | prevayler, | |
| CDBAccess | cdbAccess, | |||
| Context | context, | |||
| Logger | logger, | |||
| ManagerContainerServices | managerContainerServices | |||
| ) | [inline] |
Initializes Manager.
| prevayler | implementation of prevayler system | |
| context | remote directory implementation |
References activationPendingRWLock, activationSynchronization, alarmSource, cdbActivation, checkLoadBalancingStrategy(), clientMessageQueue, components, containerLoggedInMonitor, containers, delayedDeactivationTask, heartbeatTask, initializeDefaultConfiguration(), initializePingTasks(), managerCache, NAME_CDB_COMPONENTSPEC, pendingActivations, pendingContainerShutdown, poolThreads, prevaylerAlarmState, random, readManagerConfiguration(), remoteDirectory, setCDBAccess(), shutdown, threadPool, and topologySortManager.
Referenced by com::cosylab::acs::maci::manager::app::ManagerEngine::initializeManager(), com::cosylab::acs::maci::test::ManagerImplTest::setUp(), com::cosylab::acs::maci::test::ManagerImplSerializationTest::testClientDie(), and com::cosylab::acs::maci::test::ManagerImplSerializationTest::testContainerDie().
| void com::cosylab::acs::maci::manager::ManagerImpl::initializeDefaultConfiguration | ( | ) | [inline, private] |
Initialize manager default configuration.
References administratorPingInterval, clientPingInterval, containerPingInterval, lockTimeout, and poolThreads.
Referenced by initialize().
| void com::cosylab::acs::maci::manager::ManagerImpl::initializeFederation | ( | Hashtable | federationDirectoryProperties | ) | throws CoreException [inline] |
Initialize manager federation.
References bind(), domain, domains, dottedToHierarchical(), federationDirectory, federationEnabled, logger, NAME_DOMAIN_DIRECTORY, NAME_DOMAIN_LIST, and remoteDirectoryComponentReference.
Referenced by com::cosylab::acs::maci::manager::app::ManagerEngine::initializeManager().
| void com::cosylab::acs::maci::manager::ManagerImpl::initializePingTasks | ( | ) | [inline, private] |
Initialized (registers) all ping tasks (to completely recover).
References administratorPingInterval, administrators, alarmSource, clientPingInterval, clients, containers, com::cosylab::acs::maci::manager::TimerTaskContainerInfo::createClientInfo(), com::cosylab::acs::maci::manager::HandleDataStore::first, com::cosylab::acs::maci::manager::HandleDataStore::get(), com::cosylab::acs::maci::ContainerInfo::getPingInterval(), heartbeatTask, logger, com::cosylab::acs::maci::manager::HandleDataStore::next(), com::cosylab::acs::maci::manager::TimerTaskClientInfo::setTask(), and com::cosylab::acs::maci::manager::TimerTaskContainerInfo::setTask().
Referenced by initialize().
| void com::cosylab::acs::maci::manager::ManagerImpl::initializeServiceDaemons | ( | ) | [inline, private] |
Provices its own address to daemons.
References com::cosylab::cdb::client::DAOProxy::get_string_seq(), getManagerDAOProxy(), com::cosylab::acs::maci::Transport::getManagerReference(), com::cosylab::acs::maci::Transport::getServiceDaemon(), logger, com::cosylab::acs::maci::ServiceDaemon::setManagerReference(), and transport.
Referenced by initializationDone().
| void com::cosylab::acs::maci::manager::ManagerImpl::internalDeactivateComponent | ( | String | name | ) | [inline, private] |
Internal method for deactivating components.
| name | name of the component to be released. |
References acquireSynchronizationObject(), activationPendingRWLock, components, com::cosylab::acs::maci::manager::HandleDataStore::first, com::cosylab::acs::maci::manager::HandleDataStore::get(), com::cosylab::acs::maci::ComponentInfo::getClients(), com::cosylab::acs::maci::ComponentInfo::getName(), internalNoSyncDeactivateComponent(), lockTimeout, com::cosylab::acs::maci::manager::HandleDataStore::next(), com::cosylab::acs::maci::manager::ReaderPreferenceReadWriteLock::readLock(), releaseSynchronizationObject(), and com::cosylab::acs::maci::IntArray::size().
Referenced by com::cosylab::acs::maci::manager::ManagerImpl::DeactivateComponentTask::run().
| void com::cosylab::acs::maci::manager::ManagerImpl::internalNoSyncDeactivateComponent | ( | ComponentInfo | componentInfo | ) | [inline, private] |
Deactivate component, issue deactivate reeust to container (or other manager).
| componentInfo | info about component to be deactivated. |
References com::cosylab::acs::maci::IntArray::add(), components, conditionalShutdownContainer(), com::cosylab::acs::maci::IntArray::contains(), convertToHiearachical(), CURL_URI_SCHEMA, com::cosylab::acs::maci::Container::deactivate_components(), com::cosylab::acs::maci::Component::destruct(), executeCommand(), com::cosylab::acs::maci::IntArray::get(), com::cosylab::acs::maci::ComponentInfo::getClients(), com::cosylab::acs::maci::ComponentInfo::getComponent(), com::cosylab::acs::maci::ComponentInfo::getComponents(), com::cosylab::acs::maci::ContainerInfo::getComponents(), com::cosylab::acs::maci::ContainerInfo::getContainer(), com::cosylab::acs::maci::ComponentInfo::getContainer(), getContainerInfo(), com::cosylab::acs::maci::ContainerInfo::getHandle(), com::cosylab::acs::maci::ComponentInfo::getHandle(), getManagerForDomain(), com::cosylab::acs::maci::ContainerInfo::getName(), com::cosylab::acs::maci::ComponentInfo::getName(), handle, com::cosylab::acs::maci::HandleConstants::HANDLE_MASK, INTERDOMAIN_MANAGER_HANDLE, com::cosylab::acs::maci::manager::HandleDataStore::isAllocated(), logger, makeUnavailable(), notifyComponentDeactivated(), com::cosylab::acs::maci::Manager::releaseComponent(), com::cosylab::acs::maci::IntArray::size(), com::cosylab::acs::maci::IntArray::toArray(), and unbind().
Referenced by internalDeactivateComponent(), and internalNoSyncReleaseComponent().
| int com::cosylab::acs::maci::manager::ManagerImpl::internalNoSyncReleaseComponent | ( | int | owner, | |
| int | h, | |||
| boolean | force | |||
| ) | throws AcsJNoPermissionEx [inline, private] |
Internal method for releasing components.
| owner | owner of the component. | |
| h | handle of the component to be released. | |
| force | force deactivate, if still has owners then component will be made unavailable. |
TODO !!!!!!!!!!!!!! no more handle -> componentInfo data
References com::cosylab::acs::maci::HandleConstants::COMPONENT_MASK, components, com::cosylab::acs::maci::IntArray::contains(), CURL_URI_SCHEMA, delayedDeactivationTask, executeCommand(), com::cosylab::acs::maci::manager::HandleDataStore::get(), com::cosylab::acs::maci::ComponentInfo::getClients(), getComponentInfo(), getComponentsDAOProxy(), com::cosylab::acs::maci::ComponentInfo::getContainer(), com::cosylab::acs::maci::ComponentInfo::getContainerName(), getHandle(), com::cosylab::acs::maci::ComponentInfo::getHandle(), com::cosylab::acs::maci::ComponentInfo::getKeepAliveTime(), com::cosylab::acs::maci::ComponentInfo::getName(), handle, com::cosylab::acs::maci::HandleConstants::HANDLE_MASK, internalNoSyncDeactivateComponent(), com::cosylab::acs::maci::manager::HandleDataStore::isAllocated(), logger, notifyComponentReleased(), com::cosylab::acs::maci::manager::ComponentInfoTopologicalSortManager::notifyTopologyChange(), readLongCharacteristics(), com::cosylab::acs::maci::ManagerConstants::RELEASE_IMMEDIATELY, com::cosylab::acs::maci::ManagerConstants::RELEASE_TIME_UNDEFINED, removeComponentOwner(), alma::maciErrType::wrappers::AcsJNoPermissionEx::setID(), alma::maciErrType::wrappers::AcsJNoPermissionEx::setProtectedResource(), alma::maciErrType::wrappers::AcsJNoPermissionEx::setReason(), com::cosylab::acs::maci::IntArray::size(), topologySortManager, com::cosylab::acs::maci::HandleConstants::TYPE_MASK, and unavailableComponents.
Referenced by internalReleaseComponent().
| ComponentInfo com::cosylab::acs::maci::manager::ManagerImpl::internalNoSyncRequestComponent | ( | int | requestor, | |
| String | name, | |||
| String | type, | |||
| String | code, | |||
| String | containerName, | |||
| int | keepAliveTime, | |||
| StatusHolder | status, | |||
| boolean | activate | |||
| ) | throws AcsJCannotGetComponentEx, AcsJComponentSpecIncompatibleWithActiveComponentEx [inline, private] |
Internal method for requesting components (non sync).
| requestor | requestor of the component. | |
| name | name of component to be requested, non-null. | |
| type | type of component to be requested; if null CDB will be queried. | |
| code | code of component to be requested; if null CDB will be queried. | |
| containerName | container name of component to be requested; if null CDB will be queried. | |
| status | returned completion status of the request. | |
| activate | true if component has to be activated |
ComponentInfo of requested component. MF tmp (handle)
!!! ACID
References com::cosylab::acs::maci::Container::activate_component(), com::cosylab::acs::maci::IntArray::add(), addComponentOwner(), bind(), checkContainerShutdownState(), clients, com::cosylab::acs::maci::ComponentStatus::COMPONENT_ACTIVATED, com::cosylab::acs::maci::HandleConstants::COMPONENT_MASK, components, com::cosylab::acs::maci::Component::construct(), com::cosylab::acs::maci::IntArray::contains(), convertToHiearachical(), CURL_URI_SCHEMA, com::cosylab::acs::maci::Container::deactivate_components(), com::cosylab::acs::maci::Component::doesImplement(), executeCommand(), com::cosylab::acs::maci::manager::HandleDataStore::first, generateExecutionId(), com::cosylab::acs::maci::manager::HandleDataStore::get(), com::cosylab::acs::maci::ComponentInfo::getClients(), com::cosylab::acs::maci::ComponentInfo::getCode(), com::cosylab::acs::maci::ComponentInfo::getComponent(), com::cosylab::acs::maci::Manager::getComponent(), com::cosylab::acs::maci::Manager::getComponentInfo(), getComponentInfo(), com::cosylab::acs::maci::ContainerInfo::getComponents(), com::cosylab::acs::maci::ComponentInfo::getComponents(), getComponentsDAOProxy(), com::cosylab::acs::maci::ContainerInfo::getContainer(), com::cosylab::acs::maci::ComponentInfo::getContainer(), getContainerInfo(), com::cosylab::acs::maci::ComponentInfo::getContainerName(), com::cosylab::acs::maci::ComponentInfo::getDynamicContainerName(), com::cosylab::acs::maci::ContainerInfo::getHandle(), getHandle(), com::cosylab::acs::maci::ComponentInfo::getHandle(), com::cosylab::acs::maci::ComponentInfo::getInterfaces(), com::cosylab::acs::maci::ComponentInfo::getKeepAliveTime(), getManagerForDomain(), com::cosylab::acs::maci::ContainerInfo::getName(), com::cosylab::acs::maci::ComponentInfo::getName(), com::cosylab::acs::maci::Component::getObject(), com::cosylab::acs::maci::StatusHolder::getStatus(), com::cosylab::acs::maci::ComponentInfo::getType(), com::cosylab::acs::maci::HandleConstants::HANDLE_MASK, INTERDOMAIN_MANAGER_HANDLE, com::cosylab::acs::maci::manager::HandleDataStore::isAllocated(), com::cosylab::acs::maci::ComponentInfo::isDynamic, logger, lookup(), com::cosylab::acs::maci::manager::HandleDataStore::next(), notifyComponentActivated(), notifyComponentAvailable(), notifyComponentRequested(), com::cosylab::acs::maci::manager::ComponentInfoTopologicalSortManager::notifyTopologyChange(), pendingActivations, prevayler, readLongCharacteristics(), readStringCharacteristics(), com::cosylab::acs::maci::ManagerConstants::RELEASE_IMMEDIATELY, com::cosylab::acs::maci::ManagerConstants::RELEASE_NEVER, com::cosylab::acs::maci::ManagerConstants::RELEASE_TIME_UNDEFINED, removeComponentOwner(), com::cosylab::acs::maci::ComponentInfo::setAccessRights(), com::cosylab::acs::maci::ComponentInfo::setClients(), alma::maciErrType::wrappers::AcsJComponentSpecIncompatibleWithActiveComponentEx::setComponentCode(), com::cosylab::acs::maci::ComponentInfo::setComponents(), alma::maciErrType::wrappers::AcsJComponentSpecIncompatibleWithActiveComponentEx::setComponentType(), com::cosylab::acs::maci::ComponentInfo::setContainer(), com::cosylab::acs::maci::ComponentInfo::setContainerName(), alma::maciErrType::wrappers::AcsJComponentSpecIncompatibleWithActiveComponentEx::setContainerName(), alma::maciErrType::wrappers::AcsJComponentSpecIncompatibleWithActiveComponentEx::setCURL(), com::cosylab::acs::maci::ComponentInfo::setDynamic(), com::cosylab::acs::maci::ComponentInfo::setDynamicContainerName(), com::cosylab::acs::maci::ComponentInfo::setHandle(), com::cosylab::acs::maci::ComponentInfo::setInterfaces(), com::cosylab::acs::maci::ComponentInfo::setKeepAliveTime(), startUpContainer(), com::cosylab::acs::maci::IntArray::toArray(), topologySortManager, com::cosylab::acs::maci::HandleConstants::TYPE_MASK, and unavailableComponents.
Referenced by internalRequestComponent().
| Component com::cosylab::acs::maci::manager::ManagerImpl::internalNoSyncRestartComponent | ( | int | owner, | |
| int | h | |||
| ) | throws AcsJNoPermissionEx [inline, private] |
Internal method for restarting components.
| owner | owner of the component. | |
| h | handle of the component to be restarting. |
null if failed. References checkContainerShutdownState(), components, com::cosylab::acs::maci::IntArray::contains(), com::cosylab::acs::maci::manager::HandleDataStore::get(), com::cosylab::acs::maci::ComponentInfo::getClients(), com::cosylab::acs::maci::ContainerInfo::getContainer(), com::cosylab::acs::maci::ComponentInfo::getContainer(), getContainerInfo(), com::cosylab::acs::maci::ComponentInfo::getHandle(), com::cosylab::acs::maci::ContainerInfo::getName(), com::cosylab::acs::maci::ComponentInfo::getName(), handle, com::cosylab::acs::maci::HandleConstants::HANDLE_MASK, com::cosylab::acs::maci::manager::HandleDataStore::isAllocated(), logger, com::cosylab::acs::maci::Container::restart_component(), alma::maciErrType::wrappers::AcsJNoPermissionEx::setID(), alma::maciErrType::wrappers::AcsJNoPermissionEx::setProtectedResource(), and alma::maciErrType::wrappers::AcsJNoPermissionEx::setReason().
Referenced by internalRestartComponent().
| ContainerInfo com::cosylab::acs::maci::manager::ManagerImpl::internalNoSyncStartUpContainer | ( | String | containerName | ) | [inline, private] |
Start-up container (if it has a deploy info).
| containerName | name of the container to start up. |
null if failed to start. References containerLoggedInMonitor, getContainerInfo(), getContainersDAOProxy(), com::cosylab::acs::maci::Transport::getDaemon(), com::cosylab::acs::maci::Transport::getManagerReference(), logger, readStringCharacteristics(), com::cosylab::acs::maci::ContainerInfo::setImplLang(), com::cosylab::acs::maci::Daemon::startContainer(), and transport.
Referenced by startUpContainer().
| int com::cosylab::acs::maci::manager::ManagerImpl::internalReleaseComponent | ( | int | owner, | |
| int | h, | |||
| boolean | force | |||
| ) | throws AcsJNoPermissionEx, AcsJBadParameterEx [inline, private] |
Internal method for releasing components.
| owner | owner of the component. | |
| h | handle of the component to be released. | |
| force | force deactivate, if still has owners then component will be made unavailable. |
References acquireSynchronizationObject(), activationPendingRWLock, components, com::cosylab::acs::maci::manager::HandleDataStore::get(), com::cosylab::acs::maci::ComponentInfo::getHandle(), com::cosylab::acs::maci::ComponentInfo::getName(), handle, com::cosylab::acs::maci::HandleConstants::HANDLE_MASK, internalNoSyncReleaseComponent(), com::cosylab::acs::maci::manager::HandleDataStore::isAllocated(), lockTimeout, com::cosylab::acs::maci::manager::ReaderPreferenceReadWriteLock::readLock(), releaseSynchronizationObject(), alma::ACSErrTypeCommon::wrappers::AcsJBadParameterEx::setParameter(), and alma::ACSErrTypeCommon::wrappers::AcsJBadParameterEx::setParameterValue().
| int com::cosylab::acs::maci::manager::ManagerImpl::internalReleaseComponent | ( | int | owner, | |
| URI | curl, | |||
| boolean | force | |||
| ) | throws AcsJNoPermissionEx, AcsJBadParameterEx [inline, private] |
Internal method for releasing components.
| owner | owner of the component, if manager's own handle then deactivation will be forced | |
| curl | CURL of the component to be released. | |
| force | force deactivate, if still has owners then component will be made unavailable. |
References components, extractName(), com::cosylab::acs::maci::manager::HandleDataStore::first, com::cosylab::acs::maci::manager::HandleDataStore::get(), com::cosylab::acs::maci::ComponentInfo::getHandle(), com::cosylab::acs::maci::ComponentInfo::getName(), and com::cosylab::acs::maci::manager::HandleDataStore::next().
Referenced by forceReleaseComponent(), makeComponentImmortal(), releaseComponent(), com::cosylab::acs::maci::manager::ManagerImpl::ReleaseComponentTask::run(), and unregisterComponent().
| ComponentInfo com::cosylab::acs::maci::manager::ManagerImpl::internalRequestComponent | ( | int | requestor, | |
| String | name, | |||
| String | type, | |||
| String | code, | |||
| String | containerName, | |||
| int | keepAliveTime, | |||
| StatusHolder | status, | |||
| boolean | activate | |||
| ) | throws AcsJCannotGetComponentEx, AcsJSyncLockFailedEx, AcsJComponentSpecIncompatibleWithActiveComponentEx [inline, private] |
Internal method for requesting components.
| requestor | requestor of the component. | |
| name | name of component to be requested, non-null. | |
| type | type of component to be requested; if null CDB will be queried. | |
| code | code of component to be requested; if null CDB will be queried. | |
| containerName | container name of component to be requested; if null CDB will be queried. | |
| status | returned completion status of the request. | |
| activate | true if component has to be activated |
ComponentInfo of requested component. References acquireSynchronizationObject(), activationPendingRWLock, checkCyclicDependency(), getLockTimeout(), internalNoSyncRequestComponent(), logger, com::cosylab::acs::maci::manager::ReaderPreferenceReadWriteLock::readLock(), releaseSynchronizationObject(), alma::jmanagerErrType::wrappers::AcsJSyncLockFailedEx::setCURL(), alma::maciErrType::wrappers::AcsJCannotGetComponentEx::setCURL(), and alma::jmanagerErrType::wrappers::AcsJSyncLockFailedEx::setRequestor().
| Component com::cosylab::acs::maci::manager::ManagerImpl::internalRequestComponent | ( | int | requestor, | |
| URI | curl, | |||
| StatusHolder | status, | |||
| boolean | activate | |||
| ) | throws AcsJCannotGetComponentEx [inline, private] |
Internal method for requesting components.
| requestor | requestor of the component. | |
| curl | curl of the component to be requested. | |
| status | status of the component. | |
| activate | true if component has to be activated |
References acquireSynchronizationObject(), activationPendingRWLock, checkCyclicDependency(), extractName(), com::cosylab::acs::maci::ComponentInfo::getComponent(), getLockTimeout(), internalNoSyncRequestComponent(), com::cosylab::acs::maci::manager::ReaderPreferenceReadWriteLock::readLock(), com::cosylab::acs::maci::ManagerConstants::RELEASE_TIME_UNDEFINED, releaseSynchronizationObject(), and alma::maciErrType::wrappers::AcsJCannotGetComponentEx::setCURL().
| Component com::cosylab::acs::maci::manager::ManagerImpl::internalRequestComponent | ( | int | requestor, | |
| URI | curl, | |||
| StatusHolder | status | |||
| ) | throws AcsJCannotGetComponentEx [inline, private] |
Internal method for requesting components.
| requestor | requestor of the component. | |
| curl | curl of the component to be requested. | |
| status | status of the component. |
Referenced by autoStartComponents(), containerPostLoginActivation(), getComponent(), internalRequestDefaultComponent(), internalRequestDynamicComponent(), and com::cosylab::acs::maci::manager::ManagerImpl::RequestComponentTask::run().
| ComponentInfo com::cosylab::acs::maci::manager::ManagerImpl::internalRequestDefaultComponent | ( | int | requestor, | |
| String | type | |||
| ) | throws NoDefaultComponentException [inline, private] |
Internal method for requesting default components.
| requestor | requestor of the component. | |
| typr | type of the component |
ComponentInfo of requested default component. References com::cosylab::acs::maci::ComponentStatus::COMPONENT_ACTIVATED, componentsDAO, defaultComponents, com::cosylab::cdb::client::DAOProxy::get_field_data(), com::cosylab::acs::maci::ComponentInfo::getCode(), getComponentInfo(), getComponentsDAOProxy(), getComponentsList(), com::cosylab::acs::maci::ComponentInfo::getContainer(), getContainerInfo(), com::cosylab::acs::maci::ContainerInfo::getName(), com::cosylab::acs::maci::ComponentInfo::getName(), com::cosylab::acs::maci::StatusHolder::getStatus(), com::cosylab::acs::maci::ComponentInfo::getType(), internalRequestComponent(), logger, readStringCharacteristics(), com::cosylab::acs::maci::ManagerConstants::RELEASE_IMMEDIATELY, and reportException().
Referenced by getDefaultComponent().
| ComponentInfo com::cosylab::acs::maci::manager::ManagerImpl::internalRequestDynamicComponent | ( | int | requestor, | |
| ComponentSpec | componentSpec | |||
| ) | throws AcsJCannotGetComponentEx, AcsJSyncLockFailedEx, AcsJNoPermissionEx, AcsJIncompleteComponentSpecEx, AcsJInvalidComponentSpecEx, AcsJComponentSpecIncompatibleWithActiveComponentEx [inline, private] |
Internal method for requesting dynamic components.
Resolution: component_name and component_type can be considered as "determinator" fields, they play important role in search algorithm. component_code and container_name can be considered as "override" fields, they only help to find closest match. Rule: unspecified component_name case implies that a new component will be activated. Search points (8,4,2,1): component_name, component_type, component_code, container_name.
name | type | search criteria
-----------------------------
* | * | throw IncompleteComponentSpecException
X | * | (equals, wildcard)
* | X | (equals, equals) w/ name generation
X | X | (wildcard, equals) - overriding type is not allowed'name' can be also something like "ANT1/*" (ends with) and is threated just like "*".
| requestor | requestor of the component. | |
| componentSpec | requested component ComponentSpec |
ComponentInfo of requested dynamic component. References getClientInfo(), getContainersInfo(), com::cosylab::acs::maci::ComponentInfo::getName(), internalRequestComponent(), loadBalancingStrategy, com::cosylab::acs::maci::ManagerConstants::RELEASE_TIME_UNDEFINED, searchDynamicComponent(), com::cosylab::acs::maci::loadbalancing::LoadBalancingStrategy::selectContainer(), alma::maciErrType::wrappers::AcsJIncompleteComponentSpecEx::setReason(), and alma::maciErrType::wrappers::AcsJInvalidComponentSpecEx::setReason().
Referenced by getCollocatedComponent(), and getDynamicComponent().
| Component com::cosylab::acs::maci::manager::ManagerImpl::internalRestartComponent | ( | int | owner, | |
| int | h | |||
| ) | throws AcsJNoPermissionEx [inline, private] |
Internal method for restarting components.
| owner | owner of the component. | |
| h | handle of the component to be restarted. |
null if failed. References acquireSynchronizationObject(), activationPendingRWLock, components, com::cosylab::acs::maci::manager::HandleDataStore::get(), com::cosylab::acs::maci::ComponentInfo::getHandle(), com::cosylab::acs::maci::ComponentInfo::getName(), handle, com::cosylab::acs::maci::HandleConstants::HANDLE_MASK, internalNoSyncRestartComponent(), com::cosylab::acs::maci::manager::HandleDataStore::isAllocated(), lockTimeout, com::cosylab::acs::maci::manager::ReaderPreferenceReadWriteLock::readLock(), and releaseSynchronizationObject().
| Component com::cosylab::acs::maci::manager::ManagerImpl::internalRestartComponent | ( | int | owner, | |
| URI | curl | |||
| ) | throws AcsJNoPermissionEx [inline, private] |
Internal method for restarting components.
| owner | owner of the component. | |
| curl | CURL of the component to be restarted. |
null if failed. References components, extractName(), com::cosylab::acs::maci::manager::HandleDataStore::first, com::cosylab::acs::maci::manager::HandleDataStore::get(), com::cosylab::acs::maci::ComponentInfo::getHandle(), com::cosylab::acs::maci::ComponentInfo::getName(), and com::cosylab::acs::maci::manager::HandleDataStore::next().
Referenced by restartComponent().
| boolean com::cosylab::acs::maci::manager::ManagerImpl::isLocalDomainCURL | ( | URI | curl | ) | [inline, private] |
Check if CURL belongs to local domain.
| curl | CURL to be checked. |
true if CURL belongs to local domain, false otherwise. References domain, and domains.
Referenced by checkCURL(), and extractName().
| boolean com::cosylab::acs::maci::manager::ManagerImpl::isServiceComponent | ( | String | name | ) | [inline] |
Checks if component name is a service component name, list of names is defined in the CDB.
| name | name to be checked, non-null |
true if component name is service component name, false otherwise References com::cosylab::cdb::client::DAOProxy::get_string_seq(), getManagerDAOProxy(), and logger.
Referenced by getComponent(), and com::cosylab::acs::maci::test::ManagerImplTest::testManagerIsServiceComponent().
| boolean com::cosylab::acs::maci::manager::ManagerImpl::isShuttingDown | ( | ) | [inline] |
Return shutdown status of the Manager.
References shutdown.
Referenced by containerPostLoginActivation(), and com::cosylab::acs::maci::manager::app::ManagerEngine::destroyManager().
| void com::cosylab::acs::maci::manager::ManagerImpl::logHandleRelease | ( | int | handle, | |
| WhyUnloadedReason | reason | |||
| ) | [inline] |
Log handle release.
| handle | ||
| reason |
References enableHandleMonitoring, and releasedHandles.
| ClientInfo com::cosylab::acs::maci::manager::ManagerImpl::login | ( | Client | reference | ) | throws AcsJNoPermissionEx [inline] |
Implements com::cosylab::acs::maci::Manager.
References administratorLogin(), clientLogin(), containerLogin(), generateExecutionId(), com::cosylab::acs::maci::AuthenticationData::getClientType(), com::cosylab::acs::maci::AuthenticationData::getExecutionId(), com::cosylab::acs::maci::ClientInfo::getHandle(), com::cosylab::acs::maci::AuthenticationData::getImplLang(), com::cosylab::acs::maci::AuthenticationData::getTimeStamp(), logger, alma::maciErrType::wrappers::AcsJNoPermissionEx::setID(), alma::maciErrType::wrappers::AcsJNoPermissionEx::setReason(), and shutdown.
Referenced by com::cosylab::acs::maci::test::ManagerImplTest::internalTestGetHierarchicalComponent(), com::cosylab::acs::maci::test::ManagerImplTest::internalTestGetHierarchicalComponentPassingComponentHandle(), com::cosylab::acs::maci::test::ManagerImplTest::testAdministratorNotifications(), com::cosylab::acs::maci::test::ManagerImplTest::testAllComponentNames(), com::cosylab::acs::maci::test::ManagerImplTest::testClientInfo(), com::cosylab::acs::maci::test::ManagerImplTest::testComponentInfo(), com::cosylab::acs::maci::test::ManagerImplTest::testComponentInfoTopologicalSort(), com::cosylab::acs::maci::test::ManagerImplTest::testComponentKeepAliveTime(), com::cosylab::acs::maci::test::ManagerImplTest::testConcurrentContainersLogin(), com::cosylab::acs::maci::test::ManagerImplTest::testContainerInfo(), com::cosylab::acs::maci::test::ManagerImplTest::testContainerShutdown(), com::cosylab::acs::maci::test::ManagerImplTest::testContainerToManagerStateTransferComponents(), com::cosylab::acs::maci::test::ManagerImplTest::testExpiredHandle(), com::cosylab::acs::maci::test::ManagerImplTest::testForceReleaseComponent(), com::cosylab::acs::maci::test::ManagerImplTest::testGetCollocatedComponent(), com::cosylab::acs::maci::test::ManagerImplTest::testGetComponent(), com::cosylab::acs::maci::test::ManagerImplTest::testGetCyclicHierachicalComponent(), com::cosylab::acs::maci::test::ManagerImplTest::testGetCyclicHierachicalComponentAllowWithPreactivated(), com::cosylab::acs::maci::test::ManagerImplTest::testGetDefaultComponent(), com::cosylab::acs::maci::test::ManagerImplTest::testGetDynamicComponent(), com::cosylab::acs::maci::test::ManagerImplTest::testLogin(), com::cosylab::acs::maci::test::ManagerImplTest::testLogout(), com::cosylab::acs::maci::test::ManagerImplTest::testMakeComponentMortal(), com::cosylab::acs::maci::test::ManagerImplTest::testManagerShutdownWithComponentDestruction(), com::cosylab::acs::maci::test::ManagerImplTest::testManagerToContainerStateTransferComponents(), com::cosylab::acs::maci::test::ManagerImplTest::testOnDemandContainer(), com::cosylab::acs::maci::test::ManagerImplTest::testOnDemandContainerStartupComponents(), com::cosylab::acs::maci::test::ManagerImplTest::testPing(), com::cosylab::acs::maci::test::ManagerImplTest::testRegisterComponent(), com::cosylab::acs::maci::test::ManagerImplTest::testRestartComponent(), com::cosylab::acs::maci::test::ManagerImplTest::testSequentialContainersLogin(), com::cosylab::acs::maci::test::ManagerImplTest::testShutdown(), com::cosylab::acs::maci::test::ManagerImplTest::testStartupComponents(), and com::cosylab::acs::maci::test::ManagerImplTest::testUnregisterComponent().
| void com::cosylab::acs::maci::manager::ManagerImpl::logout | ( | int | id, | |
| boolean | pingFailed | |||
| ) | throws AcsJNoPermissionEx [inline] |
Logout client.
| id | client handle. | |
| pingFailed | flag indicating that ping has failed (i.e. reason for logout). |
References com::cosylab::acs::maci::HandleConstants::ADMINISTRATOR_MASK, administratorLogout(), administrators, com::cosylab::acs::maci::HandleConstants::CLIENT_MASK, clientLogout(), clients, com::cosylab::acs::maci::HandleConstants::CONTAINER_MASK, containerLogout(), containers, com::cosylab::acs::maci::manager::HandleDataStore::get(), com::cosylab::acs::maci::HandleConstants::HANDLE_MASK, logger, securityCheck(), and com::cosylab::acs::maci::HandleConstants::TYPE_MASK.
| void com::cosylab::acs::maci::manager::ManagerImpl::logout | ( | int | id | ) | throws AcsJNoPermissionEx [inline] |
Implements com::cosylab::acs::maci::Manager.
Referenced by com::cosylab::acs::maci::test::ManagerImplTest::internalTestGetHierarchicalComponent(), com::cosylab::acs::maci::test::ManagerImplTest::internalTestGetHierarchicalComponentPassingComponentHandle(), com::cosylab::acs::maci::manager::PingTimerTask::logout(), com::cosylab::acs::maci::test::ManagerImplTest::testAdministratorNotifications(), com::cosylab::acs::maci::test::ManagerImplTest::testClientInfo(), com::cosylab::acs::maci::test::ManagerImplTest::testComponentInfo(), com::cosylab::acs::maci::test::ManagerImplTest::testContainerInfo(), com::cosylab::acs::maci::test::ManagerImplTest::testContainerToManagerStateTransferComponents(), com::cosylab::acs::maci::test::ManagerImplTest::testExpiredHandle(), com::cosylab::acs::maci::test::ManagerImplTest::testGetComponent(), com::cosylab::acs::maci::test::ManagerImplTest::testLogout(), com::cosylab::acs::maci::test::ManagerImplTest::testManagerToContainerStateTransferComponents(), com::cosylab::acs::maci::test::ManagerImplTest::testPing(), com::cosylab::acs::maci::test::ManagerImplTest::testRegisterComponent(), com::cosylab::acs::maci::test::ManagerImplTest::testShutdown(), com::cosylab::acs::maci::test::ManagerImplTest::testStartupComponents(), and com::cosylab::acs::maci::test::ManagerImplTest::testUnregisterComponent().
| Object com::cosylab::acs::maci::manager::ManagerImpl::lookup | ( | Context | remoteDirectory, | |
| String | name, | |||
| String | type | |||
| ) | [inline, private] |
Lookups for an object in remote directory.
Use INS syntax specified in the INS specification. In short, the syntax is that components are left-to-right slash ('/') separated and case-sensitive. The id and kind of each component are separated by the period character ('.').
| remoteDirectory | remote directory context to be used. | |
| name | name of the object, code non-null | |
| type | type of the object |
null if nout found References CURL_URI_SCHEMA, and logger.
| Object com::cosylab::acs::maci::manager::ManagerImpl::lookup | ( | String | name, | |
| String | type | |||
| ) | [inline, private] |
Lookups for an object in root of the remote directory.
Use INS syntax specified in the INS specification. In short, the syntax is that components are left-to-right slash ('/') separated and case-sensitive. The id and kind of each component are separated by the period character ('.').
| name | name of the object, code non-null | |
| type | type of the object |
null if nout found References remoteDirectory.
Referenced by getComponent(), getManagerForDomain(), and internalNoSyncRequestComponent().
| void com::cosylab::acs::maci::manager::ManagerImpl::makeComponentImmortal | ( | int | id, | |
| URI | curl, | |||
| boolean | immortalState | |||
| ) | throws AcsJCannotGetComponentEx, AcsJNoPermissionEx, AcsJBadParameterEx [inline] |
Implements com::cosylab::acs::maci::Manager.
References checkCURL(), components, com::cosylab::acs::maci::IntArray::contains(), executeCommand(), extractName(), com::cosylab::acs::maci::manager::HandleDataStore::first, com::cosylab::acs::maci::manager::HandleDataStore::get(), com::cosylab::acs::maci::ComponentInfo::getClients(), getHandle(), com::cosylab::acs::maci::ComponentInfo::getHandle(), com::cosylab::acs::maci::ComponentInfo::getName(), com::cosylab::acs::maci::HandleConstants::HANDLE_MASK, internalReleaseComponent(), logger, com::cosylab::acs::maci::manager::HandleDataStore::next(), and securityCheck().
Referenced by com::cosylab::acs::maci::test::ManagerImplTest::testMakeComponentMortal().
| void com::cosylab::acs::maci::manager::ManagerImpl::makeUnavailable | ( | ComponentInfo | componentInfo | ) | [inline, private] |
Make Component unavailable.
| componentInfo | component to be made unavailable. |
References clients, executeCommand(), com::cosylab::acs::maci::ComponentInfo::getClients(), com::cosylab::acs::maci::ComponentInfo::getName(), notifyComponentUnavailable(), com::cosylab::acs::maci::ComponentInfo::setComponent(), com::cosylab::acs::maci::ComponentInfo::setContainer(), com::cosylab::acs::maci::IntArray::toArray(), and unavailableComponents.
Referenced by containerInternalStateMerge(), containerLogout(), and internalNoSyncDeactivateComponent().
| void com::cosylab::acs::maci::manager::ManagerImpl::notifyClientDisconnectShutdown | ( | ) | [inline, private] |
Notifies clients to disconnect or shutdown.
Task thats invokes Client::disconnect method.
References com::cosylab::acs::maci::ClientInfo::getClient(), getClientInfo(), logger, and threadPool.
| void com::cosylab::acs::maci::manager::ManagerImpl::notifyClientLogin | ( | final ClientInfo | clientInfo, | |
| final long | timeStamp, | |||
| final long | executionId | |||
| ) | [inline, private] |
Notifies administrators about newly logged client.
| clientInfo | newly logged client, non-null |
Task thats invokes Administrator::clientLoggedIn method.
References getAdministrators(), com::cosylab::acs::maci::ClientInfo::getClient(), com::cosylab::acs::maci::ClientInfo::getHandle(), logger, and threadPool.
Referenced by administratorLogin(), and clientLogin().
| void com::cosylab::acs::maci::manager::ManagerImpl::notifyClientLogout | ( | final ClientInfo | clientInfo, | |
| final long | timeStamp | |||
| ) | [inline, private] |
Notifies administrators about client logging out.
| client | client logging out, non-null |
Task thats invokes Administrator::clientLoggedOut method.
References getAdministrators(), com::cosylab::acs::maci::ClientInfo::getClient(), com::cosylab::acs::maci::ClientInfo::getHandle(), logger, and threadPool.
Referenced by administratorLogout(), and clientLogout().
| void com::cosylab::acs::maci::manager::ManagerImpl::notifyComponentActivated | ( | final ComponentInfo | componentInfo, | |
| final long | timeStamp, | |||
| final long | executionId | |||
| ) | [inline, private] |
Notifies administrators about Component activation.
| componentInfo | activated component info, non-null |
Task thats invokes Administrator::component_activated method.
References getAdministrators(), com::cosylab::acs::maci::ClientInfo::getClient(), logger, and threadPool.
Referenced by internalNoSyncRequestComponent().
| void com::cosylab::acs::maci::manager::ManagerImpl::notifyComponentAvailable | ( | int | excludeClient, | |
| int[] | clientHandles, | |||
| ComponentInfo[] | info | |||
| ) | [inline, private] |
Notifies administrators about component request.
| excludeClient | client not to be informed, 0 if none | |
| clientHandles | array of client handles to be informed, non-null | |
| info | component infos to be sent to the clients, non-null |
Task thats invokes Client::components_available method.
References clients, com::cosylab::acs::maci::Client::components_available(), com::cosylab::acs::maci::ClientInfo::getClient(), getClients(), logger, and threadPool.
Referenced by containerInternalStateMerge(), and internalNoSyncRequestComponent().
| void com::cosylab::acs::maci::manager::ManagerImpl::notifyComponentDeactivated | ( | final int | handle, | |
| final long | timeStamp | |||
| ) | [inline, private] |
Notifies administrators about Component deactivation.
| component | deactivated component handle, non-0 |
Task thats invokes Administrator::component_deactivated method.
References getAdministrators(), com::cosylab::acs::maci::ClientInfo::getClient(), logger, and threadPool.
Referenced by internalNoSyncDeactivateComponent().
| void com::cosylab::acs::maci::manager::ManagerImpl::notifyComponentReleased | ( | int[] | requestors, | |
| int[] | components, | |||
| final long | timeStamp | |||
| ) | [inline, private] |
Notifies administrators about Component request.
| requestors | array of clients requesting the Component, non-null | |
| components | array of requested the components, non-null |
Task thats invokes Administrator::components_requested method.
References getAdministrators(), com::cosylab::acs::maci::ClientInfo::getClient(), logger, and threadPool.
Referenced by internalNoSyncReleaseComponent().
| void com::cosylab::acs::maci::manager::ManagerImpl::notifyComponentRequested | ( | int[] | requestors, | |
| int[] | components, | |||
| final long | timeStamp | |||
| ) | [inline, private] |
Notifies administrators about Component request.
| requestors | array of clients requesting the Component, non-null | |
| components | array of requested the components, non-null |
Task thats invokes Administrator::components_requested method.
References getAdministrators(), com::cosylab::acs::maci::ClientInfo::getClient(), logger, and threadPool.
Referenced by internalNoSyncRequestComponent().
| void com::cosylab::acs::maci::manager::ManagerImpl::notifyComponentUnavailable | ( | int | excludeClient, | |
| int[] | clientHandles, | |||
| String[] | names | |||
| ) | [inline, private] |
Notifies administrators about Component request.
| excludeClient | client not to be informed, 0 if none | |
| clientHandles | array of client handles to be informed, non-null | |
| names | component names to be sent to the clients, non-null |
Task thats invokes Client::components_unavailable method.
References clients, com::cosylab::acs::maci::Client::components_unavailable(), com::cosylab::acs::maci::ClientInfo::getClient(), getClients(), logger, and threadPool.
Referenced by makeUnavailable().
| void com::cosylab::acs::maci::manager::ManagerImpl::notifyContainerDisconnectShutdown | ( | int | code | ) | [inline, private] |
Notifies containers to disconnect or shutdown.
| code | code to be sent to container, if 0 disconnect method will be called. |
Task thats invokes Container::shutdown method.
Task thats invokes Container::shutdown method.
References com::cosylab::acs::maci::ContainerInfo::getContainer(), getContainersInfo(), logger, shutdown, and threadPool.
Referenced by shutdown().
| void com::cosylab::acs::maci::manager::ManagerImpl::notifyContainerLogin | ( | final ContainerInfo | containerInfo, | |
| final long | timeStamp, | |||
| final long | executionId | |||
| ) | [inline, private] |
Notifies administrators about newly logged container.
| containerInfo | newly logged container, non-null |
Task thats invokes Administrator::containerLoggedIn method.
References getAdministrators(), com::cosylab::acs::maci::ClientInfo::getClient(), com::cosylab::acs::maci::ContainerInfo::getHandle(), logger, and threadPool.
Referenced by containerLogin().
| void com::cosylab::acs::maci::manager::ManagerImpl::notifyContainerLogout | ( | final ContainerInfo | containerInfo, | |
| final long | timeStamp | |||
| ) | [inline, private] |
Notifies administrators about container logging out.
| containerInfo | container logging out, non-null |
Task thats invokes Administrator::containerLoggedIn method.
References getAdministrators(), com::cosylab::acs::maci::ClientInfo::getClient(), com::cosylab::acs::maci::ContainerInfo::getHandle(), logger, and threadPool.
Referenced by containerLogout().
| void com::cosylab::acs::maci::manager::ManagerImpl::notifyContainerShutdownOrder | ( | ContainerInfo | containerInfo, | |
| int[] | handles | |||
| ) | [inline, private] |
Informs containers abouts its component shutdown order.
| containerInfo | container to inform | |
| handles | ordered list of component handles |
Task thats invokes Container::shutdown method.
References com::cosylab::acs::maci::ContainerInfo::getContainer(), logger, and threadPool.
| double com::cosylab::acs::maci::manager::ManagerImpl::readDoubleCharacteristics | ( | DAOProxy | dao, | |
| String | path, | |||
| double | defaultValue, | |||
| boolean | silent | |||
| ) | [inline, private] |
Reads DAO (CDB access) of double type.
| path | path to be read non-null. | |
| dao | DAO on which to perform read request. | |
| silent | do not complain, if characteristics not found. |
0.0 on failure. References com::cosylab::cdb::client::DAOProxy::get_double(), and reportException().
Referenced by readManagerConfiguration().
| int com::cosylab::acs::maci::manager::ManagerImpl::readLongCharacteristics | ( | DAOProxy | dao, | |
| String | path, | |||
| int | defaultValue, | |||
| boolean | silent | |||
| ) | [inline, private] |
Reads DAO (CDB access) of long type.
| path | path to be read non-null. | |
| dao | DAO on which to perform read request. | |
| silent | do not complain, if characteristics not found. |
0 on failure. References com::cosylab::cdb::client::DAOProxy::get_long(), and reportException().
Referenced by conditionalShutdownContainer(), containerLogin(), internalNoSyncReleaseComponent(), internalNoSyncRequestComponent(), readManagerConfiguration(), and searchDynamicComponent().
| void com::cosylab::acs::maci::manager::ManagerImpl::readManagerConfiguration | ( | ) | [inline, private] |
Read manager configuration.
References administratorPingInterval, clientPingInterval, containerPingInterval, enableHandleMonitoring, getManagerDAOProxy(), lockTimeout, managerDAO, NAME_HANDLE_MONITORING, poolThreads, readDoubleCharacteristics(), and readLongCharacteristics().
Referenced by initialize().
| String com::cosylab::acs::maci::manager::ManagerImpl::readStringCharacteristics | ( | DAOProxy | dao, | |
| String | path, | |||
| boolean | silent | |||
| ) | [inline, private] |
Reads DAO (CDB access) of string type.
| path | path to be read non-null. | |
| dao | DAO on which to perform read request. | |
| silent | do not complain, if characteristics not found |
null on failure References com::cosylab::cdb::client::DAOProxy::get_string(), and reportException().
| String com::cosylab::acs::maci::manager::ManagerImpl::readStringCharacteristics | ( | DAOProxy | dao, | |
| String | path | |||
| ) | [inline, private] |
Reads DAO (CDB access) of string type (uses getStringCharctareistics method).
| path | path to be read non-null. | |
| dao | DAO on which to perform read request. |
null on failure Referenced by autoStartComponents(), containerLogin(), containerPostLoginActivation(), getCollocatedComponent(), getComponentInfo(), hasCDBEntry(), internalNoSyncRequestComponent(), internalNoSyncStartUpContainer(), internalRequestDefaultComponent(), refreshComponentsList(), and searchDynamicComponent().
| void com::cosylab::acs::maci::manager::ManagerImpl::rebind | ( | Context | remoteDirectory, | |
| String | name, | |||
| String | type, | |||
| Object | object | |||
| ) | [inline, private] |
| remoteDirectory | parent context of parentContext. | |
| parent | name of context to bind. | |
| parentContext | context to bind. |
| NamingException | private void generateHiearchyContexts(Context remoteDirectory, String parent, Context parentContext) throws NamingException { / |
org.omg.CORBA.Object parentRepresentation = ((com.sun.jndi.cosnaming.CNCtx)remoteDirectory)._nc; if (parent.endsWith(".D")) { domain binding parentContext.rebind("Parent.D", parentRepresentation); } else if (parent.endsWith(".F")) { hierarchical component binding if (isParentDomain) parentContext.rebind("Domain.D", parentRepresentation); else parentContext.rebind("Domain.D", remoteDirectory.lookup("Domain.D")); parentContext.rebind("Parent.F", parentRepresentation); } } else if (remoteDirectory instanceof InitialContext) generateHiearchyContexts((Context)((InitialContext)remoteDirectory).lookup(""), parent, parentContext); else new MessageLogEntry(this, "generateHiearchyContexts", "Unsupported remote directory, class '" + remoteDirectory.getClass().getName() + "'.", Level.WARNING).dispatch(); } Rebind object to the root of remote directory.
Use INS syntax specified in the INS specification. In short, the syntax is that components are left-to-right slash ('/') separated and case-sensitive. The id and kind of each component are separated by the period character ('.'). NOTE: Does not support hierarchical names.
| name | name of the object, code non-null | |
| type | type of the object | |
| object | object to be binded |
private void rebind(String name, String type, Object object) { rebind(remoteDirectory, name, type, object); } Rebind object to remote directory.
Use INS syntax specified in the INS specification. In short, the syntax is that components are left-to-right slash ('/') separated and case-sensitive. The id and kind of each component are separated by the period character ('.'). NOTE: Does not support hierarchical names.
| remoteDirectory | remote directory context to be used. | |
| name | name of the object, code non-null | |
| type | type of the object | |
| object | object to be binded |
References CURL_URI_SCHEMA, and logger.
Referenced by bind().
| String [] com::cosylab::acs::maci::manager::ManagerImpl::refreshComponentsList | ( | DAOProxy | dc | ) | [inline, private] |
Searches dao for all potential (nodes containing Name attribute) ComponentInfo nodes.
| dc | dao to be searched. |
References cdbAccess, com::cosylab::cdb::client::DAOProxy::get_field_data(), com::cosylab::cdb::client::CDBAccess::getSubNodes(), logger, and readStringCharacteristics().
Referenced by getComponentsDAOProxy().
| int com::cosylab::acs::maci::manager::ManagerImpl::registerComponent | ( | int | id, | |
| URI | curl, | |||
| String | type, | |||
| Component | component | |||
| ) | throws AcsJNoPermissionEx, AcsJBadParameterEx [inline] |
Implements com::cosylab::acs::maci::Manager.
References com::cosylab::acs::maci::IntArray::add(), bind(), checkCURL(), com::cosylab::acs::maci::HandleConstants::COMPONENT_MASK, components, com::cosylab::acs::maci::IntArray::contains(), convertToHiearachical(), executeCommand(), extractName(), com::cosylab::acs::maci::manager::HandleDataStore::first, com::cosylab::acs::maci::manager::HandleDataStore::get(), com::cosylab::acs::maci::ComponentInfo::getClients(), com::cosylab::acs::maci::ComponentInfo::getHandle(), getHandle(), com::cosylab::acs::maci::ComponentInfo::getName(), com::cosylab::acs::maci::ComponentInfo::getType(), handle, com::cosylab::acs::maci::HandleConstants::HANDLE_MASK, logger, com::cosylab::acs::maci::manager::HandleDataStore::next(), random, securityCheck(), com::cosylab::acs::maci::ComponentInfo::setAccessRights(), com::cosylab::acs::maci::ComponentInfo::setContainer(), com::cosylab::acs::maci::ComponentInfo::setContainerName(), alma::maciErrType::wrappers::AcsJNoPermissionEx::setID(), com::cosylab::acs::maci::ComponentInfo::setInterfaces(), alma::ACSErrTypeCommon::wrappers::AcsJBadParameterEx::setParameter(), alma::ACSErrTypeCommon::wrappers::AcsJBadParameterEx::setParameterValue(), alma::maciErrType::wrappers::AcsJNoPermissionEx::setProtectedResource(), and alma::maciErrType::wrappers::AcsJNoPermissionEx::setReason().
Referenced by com::cosylab::acs::maci::test::ManagerImplTest::testRegisterComponent(), and com::cosylab::acs::maci::test::ManagerImplTest::testUnregisterComponent().
| int com::cosylab::acs::maci::manager::ManagerImpl::releaseComponent | ( | int | id, | |
| URI | curl | |||
| ) | throws AcsJNoPermissionEx, AcsJBadParameterEx [inline] |
Implements com::cosylab::acs::maci::Manager.
References checkCURL(), getHandle(), getRequestorName(), internalReleaseComponent(), logger, and securityCheck().
Referenced by com::cosylab::acs::maci::test::ManagerImplTest::internalTestGetHierarchicalComponentPassingComponentHandle(), releaseComponents(), com::cosylab::acs::maci::test::ManagerImplTest::testComponentKeepAliveTime(), com::cosylab::acs::maci::test::ManagerImplTest::testForceReleaseComponent(), com::cosylab::acs::maci::test::ManagerImplTest::testGetDynamicComponent(), com::cosylab::acs::maci::test::ManagerImplTest::testMakeComponentMortal(), com::cosylab::acs::maci::test::ManagerImplTest::testOnDemandContainer(), and com::cosylab::acs::maci::test::ManagerImplTest::testReleaseComponent().
| void com::cosylab::acs::maci::manager::ManagerImpl::releaseComponents | ( | ComponentInfo[] | infos | ) | throws AcsJNoPermissionEx [inline, private] |
Release components (using manager handle)
| infos | components to release |
References getHandle(), releaseComponents(), and reportException().
| void com::cosylab::acs::maci::manager::ManagerImpl::releaseComponents | ( | int | id, | |
| URI[] | curls | |||
| ) | throws AcsJNoPermissionEx [inline] |
References logger, releaseComponent(), reportException(), and securityCheck().
Referenced by releaseComponents(), shutdown(), shutdownContainer(), and com::cosylab::acs::maci::test::ManagerImplTest::testReleaseComponents().
| void com::cosylab::acs::maci::manager::ManagerImpl::releaseSynchronizationObject | ( | String | name, | |
| boolean | release | |||
| ) | [inline, private] |
Release synchronization lock for named object.
| name | name of the object whose lock to release. | |
| release | set to false if there is no need to call release on synchronization lock. |
References activationSynchronization, com::cosylab::acs::maci::manager::ManagerImpl::ReferenceCountingLock::decrement(), and com::cosylab::acs::maci::manager::ManagerImpl::ReferenceCountingLock::release().
| void com::cosylab::acs::maci::manager::ManagerImpl::releaseSynchronizationObject | ( | String | name | ) | [inline, private] |
Release synchronization lock for named object.
| name | name of the object whose lock to release. |
Referenced by acquireSynchronizationObject(), internalDeactivateComponent(), internalReleaseComponent(), internalRequestComponent(), internalRestartComponent(), and startUpContainer().
| void com::cosylab::acs::maci::manager::ManagerImpl::removeComponentOwner | ( | int | componentHandle, | |
| int | owner | |||
| ) | [inline, private] |
Remove component handle from the owners list.
| componentHandle | component handle to be removed from the owners list. | |
| owner | owner whom to remove the ownership. |
References clients, com::cosylab::acs::maci::HandleConstants::COMPONENT_MASK, components, executeCommand(), getClientInfo(), getComponentInfo(), com::cosylab::acs::maci::HandleConstants::HANDLE_MASK, and com::cosylab::acs::maci::HandleConstants::TYPE_MASK.
Referenced by containerInternalStateMerge(), containerPostLoginActivation(), internalNoSyncReleaseComponent(), and internalNoSyncRequestComponent().
| void com::cosylab::acs::maci::manager::ManagerImpl::reportException | ( | Throwable | th | ) | [inline, private] |
References logger.
Referenced by autoStartComponents(), containerPostLoginActivation(), getComponentInfo(), getDynamicComponents(), internalRequestDefaultComponent(), readDoubleCharacteristics(), readLongCharacteristics(), readStringCharacteristics(), releaseComponents(), com::cosylab::acs::maci::manager::ManagerImpl::ShutdownContainerTask::run(), com::cosylab::acs::maci::manager::ManagerImpl::DeactivateComponentTask::run(), com::cosylab::acs::maci::manager::ManagerImpl::ReleaseComponentTask::run(), com::cosylab::acs::maci::manager::ManagerImpl::RequestComponentTask::run(), searchDynamicComponent(), shutdown(), and shutdownContainer().
| void com::cosylab::acs::maci::manager::ManagerImpl::reportPrevaylerState | ( | final boolean | raise, | |
| Throwable | alarmEx | |||
| ) | [inline] |
Convenience method for send_alarm with given state.
| faultMember | ||
| state |
References alarmSource, FAULT_CODE, FAULT_FAMILY, FAULT_MEMBER, logger, prevaylerAlarmState, alma::alarmsystem::source::ACSAlarmSystemInterface::push(), alma::alarmsystem::source::ACSFaultState::setDescriptor(), alma::alarmsystem::source::ACSFaultState::setUserTimestamp(), and threadPool.
Referenced by executeCommand().
| Component com::cosylab::acs::maci::manager::ManagerImpl::restartComponent | ( | int | id, | |
| URI | curl | |||
| ) | throws AcsJNoPermissionEx, AcsJBadParameterEx [inline] |
Implements com::cosylab::acs::maci::Manager.
References checkCURL(), internalRestartComponent(), logger, and securityCheck().
Referenced by com::cosylab::acs::maci::test::ManagerImplTest::testRestartComponent().
| String [] com::cosylab::acs::maci::manager::ManagerImpl::searchDynamicComponent | ( | String[] | fieldNames, | |
| String[] | requiredValues, | |||
| boolean[] | equalityRequired, | |||
| int[] | equalityPoints, | |||
| IntHolder | keepAliveTimeHolder | |||
| ) | [inline, private] |
Searches for the best match in Components entry in the CDB.
| fieldNames | array of fields names to be searched. | |
| requiredValues | required values of fields, if ComponentSpec.COMPSPEC_ANY any value is accepted. | |
| equalityRequired | true if requiredValues[i] and fieldNames[i] | |
| equalityPoints | |
best match found in the CDB, null on failure or if not found. References componentsDAO, com::cosylab::cdb::client::DAOProxy::get_field_data(), getComponentsDAOProxy(), getComponentsList(), readLongCharacteristics(), readStringCharacteristics(), com::cosylab::acs::maci::ManagerConstants::RELEASE_TIME_UNDEFINED, and reportException().
Referenced by internalRequestDynamicComponent().
| void com::cosylab::acs::maci::manager::ManagerImpl::securityCheck | ( | int | id, | |
| int | requiredRights | |||
| ) | throws AcsJNoPermissionEx [inline, private] |
Performs security check on given handle and if check if owner has rights permissions granted.
Validating means checking key part (KEY_MASK) of the handle.
| id | handle to be checked. | |
| rights | checks if owner of the handle has this permissions granted, can be 0. |
| AcsJNoPermissionEx | thrown if handle is not valid or handle owner has not enough permissions |
References com::cosylab::acs::maci::HandleConstants::ADMINISTRATOR_MASK, administrators, com::cosylab::acs::maci::HandleConstants::CLIENT_MASK, clients, com::cosylab::acs::maci::HandleConstants::COMPONENT_MASK, components, com::cosylab::acs::maci::HandleConstants::CONTAINER_MASK, CONTAINER_RIGHTS, containers, com::cosylab::acs::maci::manager::HandleDataStore::get(), com::cosylab::acs::maci::ClientInfo::getAccessRights(), com::cosylab::acs::maci::ComponentInfo::getHandle(), com::cosylab::acs::maci::ClientInfo::getHandle(), com::cosylab::acs::maci::ContainerInfo::getHandle(), getHandle(), getHandleReleaseLog(), handle, com::cosylab::acs::maci::HandleConstants::HANDLE_MASK, com::cosylab::acs::maci::manager::HandleDataStore::isAllocated(), com::cosylab::acs::maci::HandleConstants::MANAGER_MASK, com::cosylab::acs::maci::manager::ManagerImpl::HandleMonitorEntry::reason, alma::maciErrType::wrappers::AcsJNoPermissionEx::setID(), alma::maciErrType::wrappers::AcsJNoPermissionEx::setReason(), shutdown, timeFormatter, com::cosylab::acs::maci::manager::ManagerImpl::HandleMonitorEntry::timestamp, and com::cosylab::acs::maci::HandleConstants::TYPE_MASK.
Referenced by forceReleaseComponent(), getClientInfo(), getCollocatedComponent(), getComponent(), getComponentInfo(), getComponentNonSticky(), getContainerInfo(), getDefaultComponent(), getDynamicComponent(), getDynamicComponents(), logout(), makeComponentImmortal(), registerComponent(), releaseComponent(), releaseComponents(), restartComponent(), shutdown(), shutdownContainer(), and unregisterComponent().
| void com::cosylab::acs::maci::manager::ManagerImpl::sendMessage | ( | Client | client, | |
| String | message, | |||
| MessageType | messageType, | |||
| short | messageID | |||
| ) | [inline, private] |
Sends an message to the client.
| client | client to receive the message, non-null | |
| message | message to be sent, non-null | |
| messageType | type of the message, non-null | |
| messageID | identifier for this message |
References clientMessageQueue, com::cosylab::acs::maci::manager::ManagerImpl::ClientMessageTask::run(), and threadPool.
| void com::cosylab::acs::maci::manager::ManagerImpl::sendMessage | ( | Client | client, | |
| String | message, | |||
| MessageType | messageType | |||
| ) | [inline, private] |
Sends an message to the client.
| client | client to receive the message, non-null | |
| message | message to be sent, non-null | |
| messageType | type of the message, non-null |
Referenced by containerPostLoginActivation().
| void com::cosylab::acs::maci::manager::ManagerImpl::setCDBAccess | ( | CDBAccess | cdbAccess | ) | [inline] |
Sets CDB access.
| cdbAccess | cdbAccess to set. |
References com::cosylab::cdb::client::CDBAccess::destroy(), destroyComponetsDAOProxy(), destroyManagerDAOProxy(), getComponentsDAOProxy(), and getManagerDAOProxy().
Referenced by initialize(), and shutdown().
| void com::cosylab::acs::maci::manager::ManagerImpl::setDomain | ( | String | domain | ) | [inline] |
Set name of the domain, which this manager will handle.
| domain | name of the domain, which this manager will handle, non-null |
Referenced by com::cosylab::acs::maci::manager::app::ManagerEngine::initializeManager().
| void com::cosylab::acs::maci::manager::ManagerImpl::setLockTimeout | ( | long | l | ) | [inline] |
Sets lock timeout (deadlock detection time) in ms.
| l | lock timeout (deadlock detection time) in ms |
References lockTimeout.
| void com::cosylab::acs::maci::manager::ManagerImpl::setManagerComponentReference | ( | Object | managerComponentReference | ) | [inline] |
Sets the managerComponentReference.
| managerComponentReference | The managerComponentReference to set |
References bind(), and unbind().
Referenced by com::cosylab::acs::maci::manager::app::ManagerEngine::initializeManager().
| void com::cosylab::acs::maci::manager::ManagerImpl::setRemoteDirectory | ( | Context | remoteDirectory | ) | [inline] |
Sets the remoteDirectory.
| remoteDirectory | The remoteDirectory to set |
| void com::cosylab::acs::maci::manager::ManagerImpl::setRemoteDirectoryComponentReference | ( | Object | remoteDirectoryComponentReference | ) | [inline] |
Sets the remoteDirectoryComponentReference.
| remoteDirectoryComponentReference | The remoteDirectoryComponentReference to set |
Referenced by com::cosylab::acs::maci::manager::app::ManagerEngine::initializeManager().
| void com::cosylab::acs::maci::manager::ManagerImpl::setShutdownImplementation | ( | ManagerShutdown | shutdownImplementation | ) | [inline] |
Sets the shutdownImplementation.
| shutdownImplementation | The shutdownImplementation to set |
Referenced by com::cosylab::acs::maci::manager::app::ManagerEngine::initializeManager().
| void com::cosylab::acs::maci::manager::ManagerImpl::setTransport | ( | Transport | transport | ) | [inline] |
Set the transport.
| transport |
Referenced by com::cosylab::acs::maci::manager::app::ManagerEngine::initializeManager(), and com::cosylab::acs::maci::test::ManagerImplTest::setUp().
| void com::cosylab::acs::maci::manager::ManagerImpl::shutdown | ( | int | id, | |
| int | containers | |||
| ) | throws AcsJNoPermissionEx [inline] |
Implements com::cosylab::acs::maci::Manager.
References containers, com::cosylab::acs::maci::manager::ComponentInfoTopologicalSortManager::destroy(), destroyComponetsDAOProxy(), destroyContainersDAOProxy(), destroyManagerDAOProxy(), finalizeFederation(), com::cosylab::acs::maci::manager::ComponentInfoTopologicalSortManager::getComponentShutdownOrder(), heartbeatTask, com::cosylab::acs::maci::manager::ManagerShutdown::isShutdownInProgress(), logger, com::cosylab::acs::maci::HandleConstants::MANAGER_MASK, notifyContainerDisconnectShutdown(), originalContainers, originalId, releaseComponents(), reportException(), com::cosylab::acs::maci::manager::ComponentInfoTopologicalSortManager::requestTopologicalSort(), securityCheck(), setCDBAccess(), alma::maciErrType::wrappers::AcsJNoPermissionEx::setID(), alma::maciErrType::wrappers::AcsJNoPermissionEx::setReason(), shutdown, com::cosylab::acs::maci::manager::ManagerShutdown::shutdown(), shutdownImplementation, threadPool, topologySortManager, and unbind().
| void com::cosylab::acs::maci::manager::ManagerImpl::shutdownContainer | ( | int | id, | |
| String | containerName, | |||
| int | action | |||
| ) | throws AcsJNoPermissionEx [inline] |
Implements com::cosylab::acs::maci::Manager.
References com::cosylab::acs::maci::Client::disconnect(), com::cosylab::acs::maci::manager::ComponentInfoTopologicalSortManager::getComponentShutdownOrder(), com::cosylab::acs::maci::ContainerInfo::getContainer(), getContainerInfo(), com::cosylab::acs::maci::ContainerInfo::getName(), pendingContainerShutdown, releaseComponents(), reportException(), securityCheck(), com::cosylab::acs::maci::Container::shutdown(), and topologySortManager.
Referenced by com::cosylab::acs::maci::manager::ManagerImpl::ShutdownContainerTask::run(), and com::cosylab::acs::maci::test::ManagerImplTest::testContainerShutdown().
| ContainerInfo com::cosylab::acs::maci::manager::ManagerImpl::startUpContainer | ( | String | containerName | ) | [inline, private] |
Start-up container (if it has a deploy info).
| containerName | name of the container to start up. |
null if failed to start. References acquireSynchronizationObject(), getContainerInfo(), internalNoSyncStartUpContainer(), lockTimeout, and releaseSynchronizationObject().
Referenced by autoStartComponents(), and internalNoSyncRequestComponent().
| String com::cosylab::acs::maci::manager::ManagerImpl::toString | ( | ) | [inline] |
Returns a single-line rendition of this instance into text.
References domain.
| void com::cosylab::acs::maci::manager::ManagerImpl::unbind | ( | Context | remoteDirectory, | |
| String | name, | |||
| String | type | |||
| ) | [inline, private] |
Unbind object to remote directory.
Use INS syntax specified in the INS specification. In short, the syntax is that components are left-to-right slash ('/') separated and case-sensitive. The id and kind of each component are separated by the period character ('.').
| remoteDirectory | remote directory context to be used. | |
| name | name of the object, code non-null | |
| type | type of the object |
References cleanupEmptyFContext(), CURL_URI_SCHEMA, and logger.
| void com::cosylab::acs::maci::manager::ManagerImpl::unbind | ( | String | name, | |
| String | type | |||
| ) | [inline, private] |
Unbind object to remote directory.
Use INS syntax specified in the INS specification. In short, the syntax is that components are left-to-right slash ('/') separated and case-sensitive. The id and kind of each component are separated by the period character ('.').
| name | name of the object, code non-null | |
| type | type of the object |
References remoteDirectory.
Referenced by containerPostLoginActivation(), finalizeFederation(), internalNoSyncDeactivateComponent(), setManagerComponentReference(), and shutdown().
| void com::cosylab::acs::maci::manager::ManagerImpl::unregisterComponent | ( | int | id, | |
| int | h | |||
| ) | throws AcsJNoPermissionEx, AcsJBadParameterEx [inline] |
Implements com::cosylab::acs::maci::Manager.
References getHandle(), internalReleaseComponent(), logger, and securityCheck().
Referenced by com::cosylab::acs::maci::test::ManagerImplTest::testUnregisterComponent().
transient ReaderPreferenceReadWriteLock com::cosylab::acs::maci::manager::ManagerImpl::activationPendingRWLock [private] |
Activation/deactivation synchronization mechanism. Reader lock is acquired when activation/deactivation is pending (i.e. until completed) and writer lock by processes which require not to be run until activation/deactivation is in progress.
Referenced by initialize(), internalDeactivateComponent(), internalReleaseComponent(), internalRequestComponent(), and internalRestartComponent().
transient Map com::cosylab::acs::maci::manager::ManagerImpl::activationSynchronization [private] |
Activation/deactivation synchronization mechanism.
Referenced by acquireSynchronizationObject(), initialize(), and releaseSynchronizationObject().
HashSet com::cosylab::acs::maci::manager::ManagerImpl::activeAlarms = new HashSet() [private] |
Persistent set of raised (timer task) alarms.
Referenced by alarmCleared(), alarmRaised(), getActiveAlarms(), and hasActiveAlarm().
transient int com::cosylab::acs::maci::manager::ManagerImpl::administratorPingInterval [private] |
Administrator ping interval.
Referenced by administratorLogin(), initializeDefaultConfiguration(), initializePingTasks(), and readManagerConfiguration().
HandleDataStore com::cosylab::acs::maci::manager::ManagerImpl::administrators = new HandleDataStore(16, HANDLE_MASK) [private] |
Administrators data.
Referenced by administratorLogin(), administratorLogout(), getAdministrators(), getClientInfo(), getRequestorName(), initializePingTasks(), logout(), and securityCheck().
transient ACSAlarmSystemInterface com::cosylab::acs::maci::manager::ManagerImpl::alarmSource [private] |
Alarm System Interface.
Referenced by containerLogin(), initialize(), initializePingTasks(), and reportPrevaylerState().
transient CDBAccess com::cosylab::acs::maci::manager::ManagerImpl::cdbAccess = null [private] |
CDB access.
Referenced by createDAO(), and refreshComponentsList().
transient ComponentSpec com::cosylab::acs::maci::manager::ManagerImpl::cdbActivation = null [private] |
CDB component specification. If non-null CDB will be automatically activated on container login.
Referenced by containerPostLoginActivation(), and initialize().
transient Map<Client, LinkedList<ClientMessageTask> > com::cosylab::acs::maci::manager::ManagerImpl::clientMessageQueue [protected] |
Queue (per client) for its messages.
Referenced by initialize(), and sendMessage().
transient int com::cosylab::acs::maci::manager::ManagerImpl::clientPingInterval [private] |
Client ping interval.
Referenced by clientLogin(), initializeDefaultConfiguration(), initializePingTasks(), and readManagerConfiguration().
HandleDataStore com::cosylab::acs::maci::manager::ManagerImpl::clients = new HandleDataStore(16, HANDLE_MASK) [private] |
Clients data.
Referenced by addComponentOwner(), clientLogin(), clientLogout(), containerInternalStateMerge(), getClientInfo(), getClients(), getRequestorName(), initializePingTasks(), internalNoSyncRequestComponent(), logout(), makeUnavailable(), notifyComponentAvailable(), notifyComponentUnavailable(), removeComponentOwner(), and securityCheck().
transient String [] com::cosylab::acs::maci::manager::ManagerImpl::componentListCache = null [private] |
Cached list of all component entries in the CDB.
Referenced by getComponentsDAOProxy(), and getComponentsList().
HandleDataStore com::cosylab::acs::maci::manager::ManagerImpl::components = new HandleDataStore(128, HANDLE_MASK) [private] |
Components data.
Referenced by addComponentOwner(), checkCyclicDependency(), containerInternalStateMerge(), containerLogout(), containerPostLoginActivation(), doCycleCheck(), getCollocatedComponent(), getComponentInfo(), getComponentNonSticky(), getComponents(), getDynamicComponents(), getRequestorName(), initialize(), internalDeactivateComponent(), internalNoSyncDeactivateComponent(), internalNoSyncReleaseComponent(), internalNoSyncRequestComponent(), internalNoSyncRestartComponent(), internalReleaseComponent(), internalRestartComponent(), makeComponentImmortal(), registerComponent(), removeComponentOwner(), and securityCheck().
transient DAOProxy com::cosylab::acs::maci::manager::ManagerImpl::componentsDAO = null [private] |
Components DAO dao (access to the CDB).
Referenced by autoStartComponents(), containerPostLoginActivation(), destroyComponetsDAOProxy(), getCollocatedComponent(), getComponentInfo(), getComponentsDAOProxy(), internalRequestDefaultComponent(), and searchDynamicComponent().
final int com::cosylab::acs::maci::manager::ManagerImpl::CONTAINER_RIGHTS = AccessRights.NONE [static, private] |
Container rights.
Referenced by securityCheck().
transient Object com::cosylab::acs::maci::manager::ManagerImpl::containerLoggedInMonitor = null [private] |
New container logged in notification.
Referenced by containerPostLoginActivation(), initialize(), and internalNoSyncStartUpContainer().
transient int com::cosylab::acs::maci::manager::ManagerImpl::containerPingInterval [private] |
Container ping interval.
Referenced by containerLogin(), initializeDefaultConfiguration(), and readManagerConfiguration().
HandleDataStore com::cosylab::acs::maci::manager::ManagerImpl::containers = new HandleDataStore(32, HANDLE_MASK) [private] |
Containers data.
Referenced by containerLogin(), containerLogout(), getContainerInfo(), getContainers(), getContainersInfo(), getRequestorName(), initialize(), initializePingTasks(), logout(), securityCheck(), and shutdown().
transient DAOProxy com::cosylab::acs::maci::manager::ManagerImpl::containersDAO = null [private] |
Containers DAO dao (access to the CDB).
Referenced by autoStartComponents(), destroyContainersDAOProxy(), and getContainersDAOProxy().
final String com::cosylab::acs::maci::manager::ManagerImpl::CURL_URI_SCHEMA = "curl://" [static, private] |
CURL URI schema
Referenced by bind(), checkCURL(), getComponent(), getComponentInfo(), internalNoSyncDeactivateComponent(), internalNoSyncReleaseComponent(), internalNoSyncRequestComponent(), lookup(), rebind(), and unbind().
final String com::cosylab::acs::maci::manager::ManagerImpl::DEFAULT_DOMAIN = "" [static, private] |
Default manager domain.
Map com::cosylab::acs::maci::manager::ManagerImpl::defaultComponents = new HashMap() [private] |
Map of default components (set via getDynamicComponent) overriding CDB state. Entry is: (String type, String name).
Referenced by getCollocatedComponent(), getDefaultComponents(), getDynamicComponent(), and internalRequestDefaultComponent().
transient Timer com::cosylab::acs::maci::manager::ManagerImpl::delayedDeactivationTask = null [private] |
Delatyed release timer.
Referenced by conditionalShutdownContainer(), initialize(), and internalNoSyncReleaseComponent().
String com::cosylab::acs::maci::manager::ManagerImpl::domain = DEFAULT_DOMAIN [private] |
Manager domain name.
Referenced by checkCURL(), getDomain(), initializeFederation(), isLocalDomainCURL(), and toString().
HashSet com::cosylab::acs::maci::manager::ManagerImpl::domains = new HashSet() [private] |
List of domains to manage.
Referenced by checkCURL(), finalizeFederation(), initializeFederation(), and isLocalDomainCURL().
transient boolean com::cosylab::acs::maci::manager::ManagerImpl::enableHandleMonitoring [private] |
Handle monitoring flag.
Referenced by logHandleRelease(), and readManagerConfiguration().
final int com::cosylab::acs::maci::manager::ManagerImpl::FAULT_CODE = 2 [static, protected] |
Referenced by reportPrevaylerState().
final String com::cosylab::acs::maci::manager::ManagerImpl::FAULT_FAMILY = "Manager" [static, protected] |
Referenced by reportPrevaylerState().
final String com::cosylab::acs::maci::manager::ManagerImpl::FAULT_MEMBER = "Prevayler" [static, protected] |
Referenced by reportPrevaylerState().
transient Context com::cosylab::acs::maci::manager::ManagerImpl::federationDirectory = null [private] |
Root context of the federation directory.
Referenced by finalizeFederation(), getManagerForDomain(), and initializeFederation().
transient boolean com::cosylab::acs::maci::manager::ManagerImpl::federationEnabled = false [private] |
Federation enabled flag.
Referenced by finalizeFederation(), and initializeFederation().
int com::cosylab::acs::maci::manager::ManagerImpl::handle = MANAGER_MASK [private] |
Manager handle.
Referenced by administratorLogin(), administratorLogout(), clientLogin(), clientLogout(), containerInternalStateMerge(), containerLogin(), containerLogout(), getClientInfo(), getComponentInfo(), getContainerInfo(), getHandle(), getRequestorName(), internalNoSyncDeactivateComponent(), internalNoSyncReleaseComponent(), internalNoSyncRestartComponent(), internalReleaseComponent(), internalRestartComponent(), registerComponent(), and securityCheck().
transient Timer com::cosylab::acs::maci::manager::ManagerImpl::heartbeatTask = null [private] |
Heartbeat timer.
Referenced by administratorLogin(), clientLogin(), containerLogin(), initialize(), initializePingTasks(), and shutdown().
final int com::cosylab::acs::maci::manager::ManagerImpl::INTERDOMAIN_MANAGER_HANDLE = 0x05555555 [static, private] |
Interdomain manager handle mask.
Referenced by getComponentInfo(), internalNoSyncDeactivateComponent(), and internalNoSyncRequestComponent().
transient long com::cosylab::acs::maci::manager::ManagerImpl::lastExecutionId = 0 [private] |
Last execution id;
Referenced by generateExecutionId().
transient LoadBalancingStrategy com::cosylab::acs::maci::manager::ManagerImpl::loadBalancingStrategy = null [private] |
Load balancing strategy.
Referenced by checkLoadBalancingStrategy(), and internalRequestDynamicComponent().
transient long com::cosylab::acs::maci::manager::ManagerImpl::lockTimeout [private] |
Lock timeout (deadlock detection time) in ms.
Referenced by getLockTimeout(), initializeDefaultConfiguration(), internalDeactivateComponent(), internalReleaseComponent(), internalRestartComponent(), readManagerConfiguration(), setLockTimeout(), and startUpContainer().
transient Logger com::cosylab::acs::maci::manager::ManagerImpl::logger [private] |
Logger.
Referenced by administratorLogin(), administratorLogout(), autoStartComponents(), bind(), checkLoadBalancingStrategy(), cleanupEmptyFContext(), clientLogin(), clientLogout(), containerInternalStateMerge(), containerLogin(), containerLogout(), containerPostLoginActivation(), createDAO(), destroyDAO(), forceReleaseComponent(), getCollocatedComponent(), getComponent(), getComponentInfo(), getComponentNonSticky(), getDefaultComponent(), getDynamicComponent(), getDynamicComponents(), initializeFederation(), initializePingTasks(), initializeServiceDaemons(), internalNoSyncDeactivateComponent(), internalNoSyncReleaseComponent(), internalNoSyncRequestComponent(), internalNoSyncRestartComponent(), internalNoSyncStartUpContainer(), internalRequestComponent(), internalRequestDefaultComponent(), isServiceComponent(), login(), logout(), lookup(), makeComponentImmortal(), notifyClientDisconnectShutdown(), notifyClientLogin(), notifyClientLogout(), notifyComponentActivated(), notifyComponentAvailable(), notifyComponentDeactivated(), notifyComponentReleased(), notifyComponentRequested(), notifyComponentUnavailable(), notifyContainerDisconnectShutdown(), notifyContainerLogin(), notifyContainerLogout(), notifyContainerShutdownOrder(), rebind(), refreshComponentsList(), registerComponent(), releaseComponent(), releaseComponents(), reportException(), reportPrevaylerState(), restartComponent(), com::cosylab::acs::maci::manager::ManagerImpl::ClientMessageTask::run(), com::cosylab::acs::maci::manager::ManagerImpl::RequestComponentTask::run(), shutdown(), unbind(), and unregisterComponent().
transient Map com::cosylab::acs::maci::manager::ManagerImpl::managerCache = null [private] |
Cache of non-local (federated) managers.
Referenced by getManagerForDomain(), and initialize().
transient Object com::cosylab::acs::maci::manager::ManagerImpl::managerComponentReference = null [private] |
Referenced by getComponent(), and getManagerComponentReference().
transient DAOProxy com::cosylab::acs::maci::manager::ManagerImpl::managerDAO = null [private] |
Manager DAO dao (access to the CDB).
Referenced by destroyManagerDAOProxy(), getManagerDAOProxy(), and readManagerConfiguration().
final String com::cosylab::acs::maci::manager::ManagerImpl::NAME_CDB_COMPONENTSPEC = "ACS.CDBComponentSpec" [static, private] |
CDB component specification system property name.
Referenced by initialize().
final String com::cosylab::acs::maci::manager::ManagerImpl::NAME_CDB_DISABLE = "ACS.disableCDB" [static, private] |
CDB disable system property name.
Referenced by getComponentsDAOProxy(), getContainersDAOProxy(), and getManagerDAOProxy().
final String com::cosylab::acs::maci::manager::ManagerImpl::NAME_DOMAIN_DIRECTORY = "ACS.federationDirectory" [static, private] |
Manager federation central naming service.
Referenced by initializeFederation().
final String com::cosylab::acs::maci::manager::ManagerImpl::NAME_DOMAIN_LIST = "ACS.domains" [static, private] |
Manager federation domain list property name.
Referenced by initializeFederation().
final String com::cosylab::acs::maci::manager::ManagerImpl::NAME_HANDLE_MONITORING = "manager.debug.rememberOldHandles" [static, private] |
Enable handle monitoring property name.
Referenced by readManagerConfiguration().
final String com::cosylab::acs::maci::manager::ManagerImpl::NAME_LOAD_BALANCING_STRATEGY = "ACS.LoadBalancingStrategy" [static, private] |
Load balancing strategy system property name.
Referenced by checkLoadBalancingStrategy().
volatile int com::cosylab::acs::maci::manager::ManagerImpl::originalContainers = 0 [private] |
Referenced by shutdown().
volatile int com::cosylab::acs::maci::manager::ManagerImpl::originalId = MANAGER_MASK [private] |
Referenced by shutdown().
transient Map com::cosylab::acs::maci::manager::ManagerImpl::pendingActivations = null [private] |
List of all pending activations. Needed for cyclid dependency checks, since non-fuly-activasted components are not accessible via HandleDataStore iterator.
Referenced by checkCyclicDependency(), initialize(), and internalNoSyncRequestComponent().
transient Set com::cosylab::acs::maci::manager::ManagerImpl::pendingContainerShutdown = null [private] |
List of all pending container shutdowns.
Referenced by checkContainerShutdownState(), initialize(), and shutdownContainer().
transient int com::cosylab::acs::maci::manager::ManagerImpl::poolThreads [private] |
Number of threads in thread pool (guarantees order of execution).
Referenced by initialize(), initializeDefaultConfiguration(), and readManagerConfiguration().
transient Prevayler com::cosylab::acs::maci::manager::ManagerImpl::prevayler = null [private] |
Implementation of prevayler system.
Referenced by executeCommand(), and internalNoSyncRequestComponent().
transient volatile AtomicBoolean com::cosylab::acs::maci::manager::ManagerImpl::prevaylerAlarmState [private] |
Prevayler state.
Referenced by initialize(), and reportPrevaylerState().
transient Random com::cosylab::acs::maci::manager::ManagerImpl::random = null [private] |
Manager domain name.
Referenced by administratorLogin(), clientLogin(), containerLogin(), initialize(), and registerComponent().
Map com::cosylab::acs::maci::manager::ManagerImpl::releasedHandles = new HashMap() [private] |
Handle data store to monitor released handles.
Referenced by getHandleReleaseLog(), and logHandleRelease().
transient Context com::cosylab::acs::maci::manager::ManagerImpl::remoteDirectory = null [private] |
Root context of the remote directory.
Referenced by bind(), getRemoteDirectory(), initialize(), lookup(), and unbind().
transient Object com::cosylab::acs::maci::manager::ManagerImpl::remoteDirectoryComponentReference = null [private] |
Remote Directory Component reference.
Referenced by getComponent(), getRemoteDirectoryComponentReference(), and initializeFederation().
final ObjectStreamField [] com::cosylab::acs::maci::manager::ManagerImpl::serialPersistentFields [static, private] |
{
new ObjectStreamField("domain", String.class),
new ObjectStreamField("handle", Integer.TYPE),
new ObjectStreamField("clients", HandleDataStore.class),
new ObjectStreamField("administrators", HandleDataStore.class),
new ObjectStreamField("containers", HandleDataStore.class),
new ObjectStreamField("components", HandleDataStore.class),
new ObjectStreamField("releasedHandles", Map.class),
new ObjectStreamField("unavailableComponents", Map.class),
new ObjectStreamField("defaultComponents", Map.class),
new ObjectStreamField("domains", HashSet.class),
new ObjectStreamField("activeAlarms", HashSet.class)}
All fields that represent state of the Manager must be listed here. Those fields will be written to and read from persistence storage
final long com::cosylab::acs::maci::manager::ManagerImpl::serialVersionUID = 1372046383416324709L [static, private] |
Serial versionUID
transient AtomicBoolean com::cosylab::acs::maci::manager::ManagerImpl::shutdown [private] |
Shutdown status.
Referenced by com::cosylab::acs::maci::manager::app::ManagerEngine::destroyManager(), initialize(), isShuttingDown(), login(), notifyContainerDisconnectShutdown(), securityCheck(), shutdown(), com::cosylab::acs::maci::test::ManagerImplTest::tearDown(), com::cosylab::acs::maci::test::ManagerImplTest::testManagerShutdownWithComponentDestruction(), and com::cosylab::acs::maci::test::ManagerImplTest::testShutdown().
transient ManagerShutdown com::cosylab::acs::maci::manager::ManagerImpl::shutdownImplementation = null [private] |
Shutdown implementation.
Referenced by getShutdownImplementation(), and shutdown().
transient ThreadPoolExecutor com::cosylab::acs::maci::manager::ManagerImpl::threadPool [private] |
Thread pool (guarantees order of execution).
Referenced by administratorLogout(), clientLogout(), containerLogin(), initializationDone(), initialize(), notifyClientDisconnectShutdown(), notifyClientLogin(), notifyClientLogout(), notifyComponentActivated(), notifyComponentAvailable(), notifyComponentDeactivated(), notifyComponentReleased(), notifyComponentRequested(), notifyComponentUnavailable(), notifyContainerDisconnectShutdown(), notifyContainerLogin(), notifyContainerLogout(), notifyContainerShutdownOrder(), reportPrevaylerState(), sendMessage(), and shutdown().
transient SimpleDateFormat com::cosylab::acs::maci::manager::ManagerImpl::timeFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS") [static, private] |
ISO 8601 date formatter.
Referenced by securityCheck().
transient ComponentInfoTopologicalSortManager com::cosylab::acs::maci::manager::ManagerImpl::topologySortManager [private] |
Component info topology sort manager.
Referenced by containerInternalStateMerge(), initialize(), internalNoSyncReleaseComponent(), internalNoSyncRequestComponent(), shutdown(), and shutdownContainer().
transient Transport com::cosylab::acs::maci::manager::ManagerImpl::transport = null [private] |
Implementation of transport helper.
Referenced by initializeServiceDaemons(), and internalNoSyncStartUpContainer().
Map com::cosylab::acs::maci::manager::ManagerImpl::unavailableComponents = new HashMap() [private] |
List of all unavailable components.
Referenced by containerInternalStateMerge(), containerLogout(), containerPostLoginActivation(), getUnavailableComponents(), internalNoSyncReleaseComponent(), internalNoSyncRequestComponent(), and makeUnavailable().
1.6.2