package com.a.eye.skywalking.collector.worker.noderef.persistence; import com.a.eye.skywalking.collector.actor.AbstractLocalAsyncWorkerProvider; import com.a.eye.skywalking.collector.actor.ClusterWorkerContext; import com.a.eye.skywalking.collector.actor.LocalWorkerContext; import com.a.eye.skywalking.collector.actor.selector.HashCodeSelector; import com.a.eye.skywalking.collector.actor.selector.WorkerSelector; import com.a.eye.skywalking.collector.worker.RecordPersistenceMember; import com.a.eye.skywalking.collector.worker.config.WorkerConfig; import com.a.eye.skywalking.collector.worker.noderef.NodeRefIndex; /** * @author pengys5 */ public class NodeRefDaySave extends RecordPersistenceMember { NodeRefDaySave(com.a.eye.skywalking.collector.actor.Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { super(role, clusterContext, selfContext); } @Override public String esIndex() { return NodeRefIndex.Index; } @Override public String esType() { return NodeRefIndex.Type_Day; } public static class Factory extends AbstractLocalAsyncWorkerProvider { public static Factory INSTANCE = new Factory(); @Override public Role role() { return Role.INSTANCE; } @Override public NodeRefDaySave workerInstance(ClusterWorkerContext clusterContext) { return new NodeRefDaySave(role(), clusterContext, new LocalWorkerContext()); } @Override public int queueSize() { return WorkerConfig.Queue.NodeRef.NodeRefDaySave.Size; } } public enum Role implements com.a.eye.skywalking.collector.actor.Role { INSTANCE; @Override public String roleName() { return NodeRefDaySave.class.getSimpleName(); } @Override public WorkerSelector workerSelector() { return new HashCodeSelector(); } } }