package org.t4f.bsc.servlet;
import java.util.logging.ConsoleHandler;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import org.t4f.bsc.Config;
import org.t4f.bsc.network.mqtt.MqttService;
import org.t4f.bsc.thread.NetworkProcess;
import org.t4f.bsc.thread.PocsagProcess;
public class ContextServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private final static Logger LOGGER = Logger.getLogger("POCSAG-BSC");
private NetworkProcess networkProcess;
private PocsagProcess pocsagProcess;
@Override
public void init() throws ServletException {
super.init();
Level logLevel;
String configurationFile = getServletContext().getRealPath("/WEB-INF/");
String tmp = getServletConfig().getInitParameter("configFile");
if (tmp == null || tmp.equals(""))
configurationFile = getServletContext().getRealPath("/WEB-INF/pocsag-bsc.config");
else
configurationFile = getServletContext().getRealPath("/WEB-INF/" + tmp);
Config.loadFromFile(configurationFile);
logLevel = Level.parse(Config.logLevel);
ConsoleHandler ch = new ConsoleHandler();
ch.setLevel(logLevel);
LOGGER.addHandler(ch);
LOGGER.setLevel(logLevel);
LOGGER.finest("Logging system initialized");
networkProcess = new NetworkProcess();
networkProcess.start();
LOGGER.info("Network process thread started");
pocsagProcess = new PocsagProcess();
pocsagProcess.start();
LOGGER.info("Pocsag process thread started");
if (Config.commMethod.equals("MQTT"))
MqttService.init();
LOGGER.finest("Context Servlet initialized");
}
@Override
public void destroy() {
super.destroy();
pocsagProcess.shutdown();
networkProcess.interrupt();
networkProcess.shutdown();
MqttService.disconnect();
}
}