--- android/TrainInfoService/src/dk/thoerup/traininfoservice/StatisticsListener.java 2010/06/10 07:35:23 816 +++ android/TrainInfoService/src/dk/thoerup/traininfoservice/StatisticsListener.java 2010/09/08 08:11:00 1030 @@ -7,8 +7,9 @@ import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; +import javax.servlet.annotation.WebListener; - +@WebListener public class StatisticsListener implements ServletContextListener { Logger log = Logger.getLogger(StatisticsListener.class.getName()); @@ -20,9 +21,18 @@ update_interval = getUpdateInterval( sce.getServletContext() ); - log.info("StatisticsListener::contextInit called update_interval=" + update_interval); + + + if (! sce.getServletContext().getRealPath("/").startsWith("/home/app/") ) { + //if path not starts with /home/app then it is not running on a production server and we only collects stats on prod servers + log.info("This is not a prod. server, dont start Statistics saver"); + return; + } + + if ( update_interval > 0 ) { + log.info("Statistics saver started with update_interval=" + update_interval); timer = new Timer(); TimerTask statsUpdate = new TimerTask() { @@ -33,13 +43,15 @@ }; timer.schedule(statsUpdate, 0, update_interval); + } else { + log.info("Statistics saver disabled (update_interval == 0) "); } } public void contextDestroyed(ServletContextEvent sce) { log.info("StatisticsListener::contextDestroyed"); - if ( update_interval > 0 ) { + if ( timer != null ) { timer.cancel(); Statistics.getInstance().saveStats(); }