/[projects]/android/TrainInfoService/src/dk/thoerup/traininfoservice/StatisticsListener.java
ViewVC logotype

Diff of /android/TrainInfoService/src/dk/thoerup/traininfoservice/StatisticsListener.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 816 by torben, Thu Jun 10 07:35:23 2010 UTC revision 1030 by torben, Wed Sep 8 08:11:00 2010 UTC
# Line 7  import java.util.logging.Logger; Line 7  import java.util.logging.Logger;
7  import javax.servlet.ServletContext;  import javax.servlet.ServletContext;
8  import javax.servlet.ServletContextEvent;  import javax.servlet.ServletContextEvent;
9  import javax.servlet.ServletContextListener;  import javax.servlet.ServletContextListener;
10    import javax.servlet.annotation.WebListener;
11    
12    @WebListener
13  public class StatisticsListener implements ServletContextListener {  public class StatisticsListener implements ServletContextListener {
14                    
15          Logger log = Logger.getLogger(StatisticsListener.class.getName());          Logger log = Logger.getLogger(StatisticsListener.class.getName());
# Line 20  public class StatisticsListener implemen Line 21  public class StatisticsListener implemen
21                    
22          update_interval = getUpdateInterval( sce.getServletContext() );          update_interval = getUpdateInterval( sce.getServletContext() );
23                    
24          log.info("StatisticsListener::contextInit called update_interval=" + update_interval);          
25            
26            if (! sce.getServletContext().getRealPath("/").startsWith("/home/app/")  ) {
27                    //if path not starts with /home/app then it is not running on a production server and we only collects stats on prod servers
28                    log.info("This is not a prod. server, dont start Statistics saver");
29                    return;
30            }
31            
32            
33                    
34          if ( update_interval > 0 ) {          if ( update_interval > 0 ) {
35                    log.info("Statistics saver started with update_interval=" + update_interval);
36                  timer =  new Timer();                  timer =  new Timer();
37                                    
38                  TimerTask statsUpdate = new TimerTask() {                  TimerTask statsUpdate = new TimerTask() {
# Line 33  public class StatisticsListener implemen Line 43  public class StatisticsListener implemen
43                  };                  };
44                                    
45                  timer.schedule(statsUpdate, 0, update_interval);                  timer.schedule(statsUpdate, 0, update_interval);
46            } else {
47                    log.info("Statistics saver disabled (update_interval == 0) ");
48          }          }
49      }      }
50    
51    
52      public void contextDestroyed(ServletContextEvent sce) {      public void contextDestroyed(ServletContextEvent sce) {
53          log.info("StatisticsListener::contextDestroyed");          log.info("StatisticsListener::contextDestroyed");
54          if ( update_interval > 0 ) {          if ( timer != null ) {
55                  timer.cancel();                  timer.cancel();
56                  Statistics.getInstance().saveStats();                  Statistics.getInstance().saveStats();
57          }          }

Legend:
Removed from v.816  
changed lines
  Added in v.1030

  ViewVC Help
Powered by ViewVC 1.1.20