HeartbeatAlarm.java
2.18 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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
package com.sitech.ismp.coll.i2000.alarm;
import com.sitech.ismp.app.event.KPI2Event;
import com.sitech.ismp.coll.basic.TblATO_KPIDETAIL;
import com.sitech.jmx.manage.ReportManage;
import com.sitech.util.Formater;
import org.apache.log4j.Logger;
import java.util.Date;
import java.util.Vector;
public class HeartbeatAlarm extends Thread {
Date date = new Date();
String value;
String unitID = "01-17-i2000-heartbeat";
String kpiID = "PM-01-17-900-01";
Date cllTime;
int heartbeat_alarm_intervals= Param.getInt("heartbeat_alarm_intervals");
static Logger logger = Logger.getLogger("I2000");
public void run() {
while (true) {
logger.info("heartbeat_alarm_intervals is " + heartbeat_alarm_intervals);
logger.info("HeartbeatAlarm is running ....");
logger.info("HeartbeatState.time is " + HeartbeatState.time);
if (HeartbeatState.time != null) {
boolean heartbeat = date.before(HeartbeatState.time);
TblATO_KPIDETAIL tblATO = new TblATO_KPIDETAIL();
cllTime = new Date();
value = "UP";
if (heartbeat != true) {
value = "DOWN";
}
tblATO.UNIT_ID = unitID;
tblATO.KPI_ID = kpiID;
tblATO.CLL_TIME = cllTime;
tblATO.KPI_VALUE = value;
try {
tblATO.CLL_TIME_STR = Formater.datetimeToString(cllTime);
} catch (Exception e1) {
logger.error("NatenPUD", e1);
}
logger.info("ATO|" + tblATO.UNIT_ID + "|" + tblATO.KPI_ID + "|"
+ tblATO.CLL_TIME + "|" + tblATO.KPI_VALUE + "|");
//
// TODO �Ը�������ݽ����¼���ɴ���
KPI2Event kpi2event = new KPI2Event();
kpi2event.generation(tblATO.UNIT_ID, tblATO.KPI_ID,
new Date(), tblATO.KPI_VALUE);
Vector kpiset = new Vector();
kpiset.addElement(tblATO);
ReportManage.reportKPI(kpiset);
}
date = new Date();
try {
logger.debug("HeartbeatAlarm sleep 1000 * 60 * 15");
logger.debug("1000 * heartbeat_alarm_intervals" + 1000 * heartbeat_alarm_intervals);
sleep(1000 * heartbeat_alarm_intervals);
// sleep(1000 * 60 * 15);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public static void main(String arg[]) {
HeartbeatAlarm ha = new HeartbeatAlarm();
ha.start();
}
}