ServerHolderImpl.java
977 Bytes
package com.taover.heartbeat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.taover.heartbeat.bean.ServerInstance;
public class ServerHolderImpl implements ServerHolder {
Map<String, ServerInstance> serverMap = new HashMap<String, ServerInstance>();
@Override
public List<ServerInstance> getServerInstanceList() {
return new ArrayList<ServerInstance>(serverMap.values());
}
@Override
public void registeServer(String code, String url, int fixRateSec, int maxWaitSec) throws Exception {
ServerInstance server = new ServerInstance(code, url, fixRateSec, maxWaitSec);
synchronized (this.serverMap) {
if(serverMap.containsKey(server.getIdentity())) {
server = serverMap.get(server.getIdentity());
}else {
serverMap.put(server.getIdentity(), server);
}
}
server.flush();
}
@Override
public void flushServerStatus(ServerInstance serverInstance) {
serverInstance.flush();
}
}