本文整理汇总了Java中org.apache.zookeeper.server.quorum.QuorumPeer.ServerState.FOLLOWING属性的典型用法代码示例。如果您正苦于以下问题:Java ServerState.FOLLOWING属性的具体用法?Java ServerState.FOLLOWING怎么用?Java ServerState.FOLLOWING使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类org.apache.zookeeper.server.quorum.QuorumPeer.ServerState
的用法示例。
在下文中一共展示了ServerState.FOLLOWING属性的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: run
public void run() {
setName("VerifyState-" + peer.getId());
while (true) {
if(peer.getPeerState() == ServerState.FOLLOWING) {
LOG.info("I am following");
success = true;
break;
} else if (peer.getPeerState() == ServerState.LEADING) {
LOG.info("I am leading");
success = false;
break;
}
try {
Thread.sleep(250);
} catch (Exception e) {
LOG.warn("Sleep failed ", e);
}
}
}
示例2: verifyElectionTimeTakenJMXAttribute
private void verifyElectionTimeTakenJMXAttribute(List<QuorumPeer> peers)
throws Exception {
LOG.info("Verify QuorumPeer#electionTimeTaken jmx bean attribute");
for (int i = 1; i <= peers.size(); i++) {
QuorumPeer qp = peers.get(i - 1);
if (qp.getLearnerType() == LearnerType.OBSERVER) {
continue; // Observer don't have electionTimeTaken attribute.
}
Long electionTimeTaken = -1L;
String bean = "";
if (qp.getPeerState() == ServerState.FOLLOWING) {
bean = String.format(
"%s:name0=ReplicatedServer_id%d,name1=replica.%d,name2=Follower",
CommonNames.DOMAIN, i, i);
} else if (qp.getPeerState() == ServerState.LEADING) {
bean = String.format(
"%s:name0=ReplicatedServer_id%d,name1=replica.%d,name2=Leader",
CommonNames.DOMAIN, i, i);
}
electionTimeTaken = (Long) JMXEnv.ensureBeanAttribute(bean,
"ElectionTimeTaken");
Assert.assertTrue("Wrong electionTimeTaken value!",
electionTimeTaken >= 0);
}
}
示例3: learningState
/**
* A learning state can be either FOLLOWING or OBSERVING. This method simply
* decides which one depending on the role of the server.
*
* @return ServerState
*/
private ServerState learningState() {
if (self.getLearnerType() == LearnerType.PARTICIPANT) {
LOG.debug("I'm a participant: " + self.getId());
return ServerState.FOLLOWING;
} else {
LOG.debug("I'm an observer: " + self.getId());
return ServerState.OBSERVING;
}
}
示例4: run
public void run() {
try {
Vote v = null;
fail = false;
while(true){
//while(true) {
peer.setPeerState(ServerState.LOOKING);
LOG.info("Going to call leader election.");
v = peer.getElectionAlg().lookForLeader();
if(v == null){
LOG.info("Thread " + i + " got a null vote");
return;
}
/*
* A real zookeeper would take care of setting the current vote. Here
* we do it manually.
*/
peer.setCurrentVote(v);
LOG.info("Finished election: " + i + ", " + v.getId());
votes[i] = v;
if((peer.getPeerState() == ServerState.LEADING) &&
(peer.getId() > 2)) fail = true;
if((peer.getPeerState() == ServerState.FOLLOWING) ||
(peer.getPeerState() == ServerState.LEADING)) break;
}
LOG.debug("Thread " + i + " votes " + v);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
示例5: learningState
/**
* A learning state can be either FOLLOWING or OBSERVING.
* This method simply decides which one depending on the
* role of the server.
*
* @return ServerState
*/
private ServerState learningState(){
if(self.getLearnerType() == LearnerType.PARTICIPANT){
LOG.debug("I'm a participant: " + self.getId());
return ServerState.FOLLOWING;
}
else{
LOG.debug("I'm an observer: " + self.getId());
return ServerState.OBSERVING;
}
}
示例6: shutdownFollowers
private void shutdownFollowers(MainThread[] mt) {
for (int i = 0; i < mt.length; i++) {
CustomQuorumPeer quorumPeer = (CustomQuorumPeer) mt[i].getQuorumPeer();
if (quorumPeer != null && ServerState.FOLLOWING == quorumPeer.getPeerState()) {
quorumPeer.setStopPing(true);
}
}
}