package dk.thoerup.traininfoservice; import java.util.logging.Logger; import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import javax.servlet.annotation.WebListener; /** * Application Lifecycle Listener implementation class JmxListener * */ @WebListener public class SettingsListener implements ServletContextListener { Logger logger = Logger.getLogger(SettingsListener.class.getName()); /** * @see ServletContextListener#contextInitialized(ServletContextEvent) */ public void contextInitialized(ServletContextEvent sce) { logger.warning("Context Init - Loading settings"); ServletContext cxt = sce.getServletContext(); loadSettings(cxt); } public static TraininfoSettings loadSettings(ServletContext cxt) { TraininfoSettings settings = (TraininfoSettings) cxt.getAttribute("settings"); if (settings != null) return settings; settings = new TraininfoSettings(); settings.useazuresite = Boolean.parseBoolean( cxt.getInitParameter("useazuresite") ); settings.cache_timeout = Integer.parseInt( cxt.getInitParameter("cache_timeout") ); settings.reply_timeout = Integer.parseInt( cxt.getInitParameter("reply_timeout") ); settings.banedk_threshold = Integer.parseInt(cxt.getInitParameter("banedk_threshold") ); settings.banedk_timeout = Integer.parseInt( cxt.getInitParameter("banedk_timeout") ); settings.stats_interval = Integer.parseInt( cxt.getInitParameter("stats_interval") ); cxt.setAttribute("settings", settings); return settings; } /** * @see ServletContextListener#contextDestroyed(ServletContextEvent) */ public void contextDestroyed(ServletContextEvent sce) { } }