package org.infosec.ismp.manager.agentdisc;
import java.util.Timer;
import org.infosec.ismp.daemon.AbstractServiceDaemon;
import org.infosec.ismp.eventd.EventIpcManagerFactory;
import org.infosec.ismp.model.event.Event;
import org.infosec.ismp.model.event.EventConstants;
import org.infosec.ismp.model.event.EventListener;
/**
* Agent发现组件,该组件接受事件uei=AGENT_REGIESTER_EVENT_UEI,查看该agent是否
* 在agent列表中,如果不在,认为发现一个新的Agent,
* @author <a href="mailto:lianglin1979@sjtu.edu.cn">lianglin</a>
*
*/
public class AgentDiscovery extends AbstractServiceDaemon implements
EventListener {
private Timer m_timer;//定时器
public AgentDiscovery() {
super("ISMP.AGENT_DISCOVERY");
}
@Override
protected void onInit() {
}
@Override
protected void onStart() {
addEventListener();
}
@Override
protected void onStop() {
removeEventListener();
}
private void removeEventListener() {
EventIpcManagerFactory.getIpcManager().removeEventListener(this,
EventConstants.AGENT_REGIESTER_EVENT_UEI);
}
private void addEventListener() {
EventIpcManagerFactory.getIpcManager().addEventListener(this,
EventConstants.AGENT_REGIESTER_EVENT_UEI);
}
/**
* 根据接受到Agent注册事件,判断Agent是否
*/
@Override
public void onEvent(Event e) {
log().debug("received Event,uei is : " + e.getUei());
//TODO
}
private void checkAgentStatus() {
//TODO
}
}