Search in sources :

Example 1 with AdapterFactory

use of org.opennms.features.telemetry.adapters.factory.api.AdapterFactory in project opennms by OpenNMS.

the class TelemetryAdapterRegistryImpl method getAdapter.

@Override
public Adapter getAdapter(String className, Protocol protocol, Map<String, String> properties) {
    AdapterFactory adapterFactory = m_adapterFactoryByClassName.get(className);
    while ((adapterFactory == null) && ManagementFactory.getRuntimeMXBean().getUptime() < GRACE_PERIOD_MS) {
        try {
            Thread.sleep(LOOKUP_DELAY_MS);
        } catch (InterruptedException e) {
            LOG.error("Interrupted while waiting for adapter factory to become available in the service registry. Aborting.");
            return null;
        }
        adapterFactory = m_adapterFactoryByClassName.get(className);
    }
    Adapter adapter = null;
    if (adapterFactory != null) {
        adapter = adapterFactory.createAdapter(protocol, properties);
    }
    return adapter;
}
Also used : AdapterFactory(org.opennms.features.telemetry.adapters.factory.api.AdapterFactory) Adapter(org.opennms.netmgt.telemetry.adapters.api.Adapter)

Aggregations

AdapterFactory (org.opennms.features.telemetry.adapters.factory.api.AdapterFactory)1 Adapter (org.opennms.netmgt.telemetry.adapters.api.Adapter)1