HeartbeatManager.java
1.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
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<ClientInstance> 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<ServerInstance> 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);
}
}