package org.skywalking.apm.collector.actor; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; /** * @author pengys5 */ public abstract class AbstractWorker { private final Logger logger; private final LocalWorkerContext selfContext; private final Role role; private final ClusterWorkerContext clusterContext; public AbstractWorker(Role role, ClusterWorkerContext clusterContext, LocalWorkerContext selfContext) { this.role = role; this.clusterContext = clusterContext; this.selfContext = selfContext; this.logger = LogManager.getFormatterLogger(role.roleName()); } final public Logger logger() { return logger; } public abstract void preStart() throws ProviderNotFoundException; final public LookUp getSelfContext() { return selfContext; } final public LookUp getClusterContext() { return clusterContext; } final public Role getRole() { return role; } final public static AbstractWorker noOwner() { return null; } final protected void saveException(Exception e) { logger().error(e); } }