package com.taover.heartbeat; import java.util.List; import com.taover.heartbeat.bean.ClientInstance; import com.taover.heartbeat.bean.ClientRequest; import com.taover.heartbeat.bean.Instance; import com.taover.heartbeat.bean.ReformInstance; import com.taover.heartbeat.bean.ServerInstance; public class HeartbeatManager { //客户端holder private static ClientHolder clientHolder = new ClientHolderImpl(); //服务端holder private static ServerHolder serverHolder = new ServerHolderImpl(); //通知对象 private static ReformInstance reformData = new ReformInstance(); public static void registryClient(ClientRequest clientRequest) { clientHolder.registryClientInstance(clientRequest); } /** * 刷新客户端信息 */ public static void flushClientStatus() { List instances = clientHolder.getClientInstanceList(); for(ClientInstance item: instances) { item.flush(); if(item.needReform()) { HeartbeatManager.sendReform(item); } } } public static void sendReform(Instance instance) { reformData.doReform(instance); } public static void sendServerHeartbeat() { List instances = serverHolder.getServerInstanceList(); for(ServerInstance item: instances) { item.flush(); if(item.needReform()) { HeartbeatManager.sendReform(item); } } } public static void registryServers(String code, String url, int fixRateSec, int maxWaitSec) throws Exception{ serverHolder.registeServer(code, url, fixRateSec, maxWaitSec); } public static void setReformData(String emailTo, String weixinWxid, String mobile) { HeartbeatManager.reformData.loadConfig(emailTo, weixinWxid, mobile); } }