
com.wavefront.agent.TokenManager Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of proxy Show documentation
Show all versions of proxy Show documentation
Service for batching and relaying metric traffic to Wavefront
package com.wavefront.agent;
import com.google.common.collect.Maps;
import com.wavefront.agent.api.APIContainer;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.jetbrains.annotations.TestOnly;
public class TokenManager {
private static final Map multicastingTenantList = Maps.newHashMap();
private static List scheduledWorkers = new ArrayList();
private static List externalWorkers = new ArrayList();
public static void addTenant(String tenantName, TenantInfo tokenWorker) {
multicastingTenantList.put(tenantName, tokenWorker);
if (tokenWorker instanceof TokenWorker.Scheduled) {
scheduledWorkers.add((TokenWorker.Scheduled) tokenWorker);
}
if (tokenWorker instanceof TokenWorker.External) {
externalWorkers.add((TokenWorker.External) tokenWorker);
}
}
public static void start(APIContainer apiContainer) {
externalWorkers.forEach(external -> external.setAPIContainer(apiContainer));
scheduledWorkers.forEach(tenantInfo -> tenantInfo.run());
}
public static Map getMulticastingTenantList() {
return multicastingTenantList;
}
@TestOnly
public static void reset() {
externalWorkers.clear();
scheduledWorkers.clear();
multicastingTenantList.clear();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy