package org.infosec.ismp.manager.winsensor.event; import org.infosec.ismp.daemon.AbstractServiceDaemon; import org.infosec.ismp.manager.rmi.aim.service.AlertManager; import org.springframework.util.Assert; /** * @author guoxianwei * @date 2011-3-9 上午09:50:04 * */ public class SensorEventd extends AbstractServiceDaemon { /** * The name of the logging category for Eventd. */ static final String LOG4J_CATEGORY = "ISMP.Eventd"; private EventHandler m_udpEventReceiver; public SensorEventd() { super("ISMP.Eventd"); } private int m_port; private AlertManager m_alertManager; @Override protected void onInit() { Assert.notNull(m_port, "m_syslogPort is null,please check"); Assert.notNull(m_alertManager, "m_alertManager is null,please check"); log().debug("start: Initializing the Eventd config factory"); log().debug("Starting EventProcessor"); m_udpEventReceiver = new EventHandler(m_alertManager, m_port); } @Override protected void onStart() { m_udpEventReceiver.start(); } @Override protected void onStop() { // shutdown and wait on the background processing thread to exit. log().debug("exit: closing communication paths."); try { log().debug("stop: Closing Eventd message session."); log().debug("stop: winsensor event message session closed."); } catch (IllegalStateException e) { log().debug("stop: The winsensor event session was already closed"); } log().debug("stop: Stopping queue processor."); m_udpEventReceiver.stop(); log().debug("Stopped the winsensor event UDP Receiver"); } public int getPort() { return m_port; } public AlertManager getAlertManager() { return m_alertManager; } public void setPort(int port) { m_port = port; } public void setAlertManager(AlertManager alertManager) { m_alertManager = alertManager; } }