添加告警规则轮询检查
This commit is contained in:
parent
2eb5d9676c
commit
9419d9122d
|
|
@ -41,12 +41,19 @@ public class AlarmMessageProcessThread extends Thread {
|
|||
|
||||
@Override
|
||||
public void run() {
|
||||
long interval = 0L;
|
||||
//注册服务(默认为空闲状态)
|
||||
registerProcessThread(threadId, ProcessThreadStatus.FREE);
|
||||
while (true) {
|
||||
try {
|
||||
//检查是否为忙碌状态
|
||||
if (status == ProcessThreadStatus.BUSY) {
|
||||
|
||||
if (interval > Config.Server.ALARM_RULE_ACTIVITY_INTERVAL) {
|
||||
//重新加载用户配置
|
||||
cacheProcessUser(processUserIds);
|
||||
interval = 0;
|
||||
}
|
||||
//处理告警信息
|
||||
for (Map.Entry<UserInfo, List<AlarmRule>> entry : cacheRules.entrySet()) {
|
||||
for (AlarmRule rule : entry.getValue()) {
|
||||
|
|
@ -74,6 +81,7 @@ public class AlarmMessageProcessThread extends Thread {
|
|||
|
||||
// 缓存数据
|
||||
cacheProcessUser(processUserIds);
|
||||
interval = 0;
|
||||
|
||||
// 修改自身状态 :(忙碌状态)
|
||||
status = ProcessThreadStatus.BUSY;
|
||||
|
|
@ -82,6 +90,7 @@ public class AlarmMessageProcessThread extends Thread {
|
|||
|
||||
try {
|
||||
Thread.sleep(Config.ProcessThread.THREAD_WAIT_INTERVAL);
|
||||
interval += Config.ProcessThread.THREAD_WAIT_INTERVAL;
|
||||
} catch (InterruptedException e) {
|
||||
logger.error("Sleep failed.", e);
|
||||
}
|
||||
|
|
@ -98,6 +107,8 @@ public class AlarmMessageProcessThread extends Thread {
|
|||
private void cacheProcessUser(List<String> processUserIds) throws SQLException {
|
||||
UserInfo tmpUserInfo;
|
||||
List<AlarmRule> alarmRules;
|
||||
// 清理原有的CacheRule
|
||||
cacheRules.clear();
|
||||
for (String userId : processUserIds) {
|
||||
tmpUserInfo = AlarmMessageDao.selectUser(userId);
|
||||
if (tmpUserInfo == null) {
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@ public class Config {
|
|||
|
||||
public static long DAEMON_THREAD_WAIT_INTERVAL = 50000L;
|
||||
|
||||
public static long ALARM_RULE_ACTIVITY_INTERVAL = 3600000L;
|
||||
|
||||
}
|
||||
|
||||
public static class ProcessThread {
|
||||
|
|
@ -47,13 +49,13 @@ public class Config {
|
|||
|
||||
public static class DB {
|
||||
|
||||
public static String PASSWORD = "devrdbusr13";
|
||||
public static String PASSWORD = "devrdbusr21";
|
||||
|
||||
public static String USER_NAME = "devrdbusr13";
|
||||
public static String USER_NAME = "devrdbusr21";
|
||||
|
||||
public static String DRIVER_CLASS = "com.mysql.jdbc.Driver";
|
||||
|
||||
public static String URL = "jdbc:mysql://10.1.228.200:31306/test";
|
||||
public static String URL = "jdbc:mysql://10.1.228.202:31316/test";
|
||||
|
||||
public static int MAX_IDLE = 1;
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@
|
|||
server.process_thread_size=2
|
||||
#守护线程等待周期
|
||||
server.daemon_thread_wait_interval=50000
|
||||
#告警规则生效周期
|
||||
server.alarm_rule_activity_interval=3600000
|
||||
|
||||
#处理线程等待周期
|
||||
processthread.thread_wait_interval=5000
|
||||
|
|
|
|||
Loading…
Reference in New Issue