Search in sources :

Example 1 with Adapters

use of com.cloud.utils.component.Adapters in project CloudStack-archive by CloudStack-extras.

the class AgentShell method init.

private void init(String[] args) throws ConfigurationException {
    final ComponentLocator locator = ComponentLocator.getLocator("agent");
    final Class<?> c = this.getClass();
    _version = c.getPackage().getImplementationVersion();
    if (_version == null) {
        throw new CloudRuntimeException("Unable to find the implementation version of this agent");
    }
    s_logger.info("Implementation Version is " + _version);
    parseCommand(args);
    _storage = locator.getManager(StorageComponent.class);
    if (_storage == null) {
        s_logger.info("Defaulting to using properties file for storage");
        _storage = new PropertiesStorage();
        _storage.configure("Storage", new HashMap<String, Object>());
    }
    // command line parameters
    for (Map.Entry<String, Object> cmdLineProp : getCmdLineProperties().entrySet()) {
        _properties.put(cmdLineProp.getKey(), cmdLineProp.getValue());
    }
    final Adapters adapters = locator.getAdapters(BackoffAlgorithm.class);
    final Enumeration en = adapters.enumeration();
    while (en.hasMoreElements()) {
        _backoff = (BackoffAlgorithm) en.nextElement();
        break;
    }
    if (en.hasMoreElements()) {
        s_logger.info("More than one backoff algorithm specified.  Using the first one ");
    }
    if (_backoff == null) {
        s_logger.info("Defaulting to the constant time backoff algorithm");
        _backoff = new ConstantTimeBackoff();
        _backoff.configure("ConstantTimeBackoff", new HashMap<String, Object>());
    }
}
Also used : Enumeration(java.util.Enumeration) Adapters(com.cloud.utils.component.Adapters) StorageComponent(com.cloud.agent.dao.StorageComponent) ComponentLocator(com.cloud.utils.component.ComponentLocator) CloudRuntimeException(com.cloud.utils.exception.CloudRuntimeException) PropertiesStorage(com.cloud.agent.dao.impl.PropertiesStorage) HashMap(java.util.HashMap) Map(java.util.Map) ConstantTimeBackoff(com.cloud.utils.backoff.impl.ConstantTimeBackoff)

Aggregations

StorageComponent (com.cloud.agent.dao.StorageComponent)1 PropertiesStorage (com.cloud.agent.dao.impl.PropertiesStorage)1 ConstantTimeBackoff (com.cloud.utils.backoff.impl.ConstantTimeBackoff)1 Adapters (com.cloud.utils.component.Adapters)1 ComponentLocator (com.cloud.utils.component.ComponentLocator)1 CloudRuntimeException (com.cloud.utils.exception.CloudRuntimeException)1 Enumeration (java.util.Enumeration)1 HashMap (java.util.HashMap)1 Map (java.util.Map)1