JmsAdaptor.java
2.28 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
package com.sitech.jmx.adaptor;
import javax.jms.Message;
import javax.jms.ObjectMessage;
import org.apache.log4j.Logger;
import com.sitech.ismp.check.CommandExcutor;
import com.sitech.ismp.messageObject.AgentSyncObject;
import com.sitech.ismp.messageObject.AlarmEventConfigSyncObject;
import com.sitech.ismp.messageObject.MibConfigSyncObject;
import com.sitech.ismp.messageObject.cc.CommandParameters;
import com.sitech.util.ThreadPoolUtil;
import com.sitech.util.mq.MQReceiver;
/**
* Agent配置同步服务接口
* @author LINXC
* 2012-12-24
*/
public class JmsAdaptor extends MQReceiver {
public Logger logger = Logger.getLogger(JmsAdaptor.class);
public JmsAdaptor(String url, String name) {
super(url, name, QUEUE);
}
protected void dispatchMessage(Message arg0) {
try {
if (arg0 instanceof ObjectMessage) {
Object object = ((ObjectMessage) arg0).getObject();
if (object instanceof AgentSyncObject) {
AgentSyncObject agentSyncObj = (AgentSyncObject) object;
if (ManualOprUtil.isManualTriger(agentSyncObj)) {
// 手动触发执行任务
ManualOprUtil.doManualOperation(agentSyncObj);
} else {
// 采集配置同步
SchSyncUtil.doSyncOperation(agentSyncObj);
}
} else if (object instanceof AlarmEventConfigSyncObject) {
// 告警配置同步
EvtSyncUtil.doSyncOperation(((AlarmEventConfigSyncObject) object));
} else if (object instanceof MibConfigSyncObject) {
// MIB同步
System.out.println("---------开始MIB同步-----------");
MibSyncUtil.doSyncOperation(((MibConfigSyncObject) object));
} else if (object instanceof CommandParameters) {
// 当agent类型为指令执行器时才处理
CommandParameters param = (CommandParameters) object;
ThreadPoolUtil.executorService.execute(new CommandExcutor(param));
}
}
} catch (Exception e) {
logger.error("Exception while process message:" + arg0, e);
}
}
}