com.yuweix.kuafu.schedule.base.AbstractTask Maven / Gradle / Ivy
package com.yuweix.kuafu.schedule.base;
import com.yuweix.kuafu.data.elect.Elector;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.lang.ref.SoftReference;
import java.lang.reflect.Field;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
* @author yuwei
*/
public abstract class AbstractTask {
private static final Logger log = LoggerFactory.getLogger(AbstractTask.class);
private static final Elector DEFAULT_LEADER_ELECTOR = new Elector() {
@Override
public String acquire(String lock) {
return getLocalNode();
}
@Override
public void release(String lock) {
//NO-OP
}
@Override
public String getLocalNode() {
return "local";
}
};
private static SoftReference