接口描述如下:
/**
* 当节点被选为leader时调用的回调接口.
*
*/
public interface LeaderExecutionCallback {
/**
* 节点选中之后执行的回调方法.
*/
void execute();
}
实现类是在LeaderService中的内部类,具体实现如下:
public final class LeaderService {
class LeaderElectionExecutionCallback implements LeaderExecutionCallback {
@Override
public void execute() {
if (!hasLeader()) {//判断zk中当前PATH是否存在
jobNodeStorage.fillEphemeralJobNode(LeaderNode.INSTANCE, JobRegistry.getInstance().getJobInstance(jobName).getJobInstanceId());//创建临时节点
}
}
}
}
LeaderExecutionCallback.execute方法是在节点被选择为leader后被调用的。具体Leader选择实现,查看elastic-job leader选择实现











网友评论