/[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 811 by torben, Wed Jun 9 20:16:01 2010 UTC revision 1022 by torben, Mon Aug 30 15:49:20 2010 UTC
# Line 2  package dk.thoerup.traininfoservice; Line 2  package dk.thoerup.traininfoservice;
2    
3  import java.util.Timer;  import java.util.Timer;
4  import java.util.TimerTask;  import java.util.TimerTask;
5    import java.util.logging.Logger;
6    
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());
16    
17          Timer timer = null;          Timer timer = null;
18          int update_interval;          int update_interval;
# Line 16  public class StatisticsListener implemen Line 20  public class StatisticsListener implemen
20      public void contextInitialized(ServletContextEvent sce) {      public void contextInitialized(ServletContextEvent sce) {
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                    return;
29            }
30            
31          if ( update_interval > 0 ) {          if ( update_interval > 0 ) {
32                  timer =  new Timer();                  timer =  new Timer();
33                                    
# Line 32  public class StatisticsListener implemen Line 44  public class StatisticsListener implemen
44    
45    
46      public void contextDestroyed(ServletContextEvent sce) {      public void contextDestroyed(ServletContextEvent sce) {
47            log.info("StatisticsListener::contextDestroyed");
48          if ( update_interval > 0 ) {          if ( update_interval > 0 ) {
49                  timer.cancel();                  timer.cancel();
50                    Statistics.getInstance().saveStats();
51          }          }
52      }      }
53    

Legend:
Removed from v.811  
changed lines
  Added in v.1022

  ViewVC Help
Powered by ViewVC 1.1.20