package fr.mch.mdo.restaurant.web.orders;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import fr.mch.mdo.jms.server.IMdoEmbeddedJmsServer;
import fr.mch.mdo.jms.server.MdoEmbeddedJmsServer;
import fr.mch.mdo.logs.ILogger;
import fr.mch.mdo.restaurant.exception.MdoException;
import fr.mch.mdo.restaurant.ioc.spring.MdoBeanFactory;
public class MdoEmbeddedJmsServerListener implements ServletContextListener
{
private static ILogger logger;
private IMdoEmbeddedJmsServer jmsServer;
/**
* A listener class must have a zero-argument constructor
**/
public MdoEmbeddedJmsServerListener() {
}
@Override
public void contextInitialized(ServletContextEvent sce) {
logger = MdoBeanFactory.getInstance().getLogger(MdoEmbeddedJmsServerListener.class.getName());
jmsServer = new MdoEmbeddedJmsServer();
logger.info("info.message.orders.starting.server.jms");
try {
jmsServer.startServer();
} catch (MdoException e) {
logger.error("error.message.orders.start.server.jms.failed", e);
}
logger.info("info.message.orders.server.jms.started");
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
// Stop the JMS server
logger.info("info.message.orders.stopping.server.jms");
try {
jmsServer.stopServer();
} catch (Exception e) {
logger.error("error.message.orders.stop.server.jms.failed", e);
}
logger.info("info.message.orders.server.jms.stopped");
}
}