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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 959 - (hide annotations) (download)
Mon Jul 5 09:49:53 2010 UTC (13 years, 10 months ago) by torben
File size: 1541 byte(s)
More annotations
1 torben 811 package dk.thoerup.traininfoservice;
2    
3     import java.util.Timer;
4     import java.util.TimerTask;
5 torben 816 import java.util.logging.Logger;
6 torben 811
7     import javax.servlet.ServletContext;
8     import javax.servlet.ServletContextEvent;
9     import javax.servlet.ServletContextListener;
10 torben 959 import javax.servlet.annotation.WebListener;
11 torben 811
12 torben 959 @WebListener
13 torben 811 public class StatisticsListener implements ServletContextListener {
14 torben 816
15     Logger log = Logger.getLogger(StatisticsListener.class.getName());
16 torben 811
17     Timer timer = null;
18     int update_interval;
19    
20     public void contextInitialized(ServletContextEvent sce) {
21    
22     update_interval = getUpdateInterval( sce.getServletContext() );
23 torben 816
24     log.info("StatisticsListener::contextInit called update_interval=" + update_interval);
25    
26 torben 811 if ( update_interval > 0 ) {
27     timer = new Timer();
28    
29     TimerTask statsUpdate = new TimerTask() {
30     @Override
31     public void run() {
32     Statistics.getInstance().saveStats();
33     }
34     };
35    
36     timer.schedule(statsUpdate, 0, update_interval);
37     }
38     }
39    
40    
41     public void contextDestroyed(ServletContextEvent sce) {
42 torben 816 log.info("StatisticsListener::contextDestroyed");
43 torben 811 if ( update_interval > 0 ) {
44     timer.cancel();
45 torben 814 Statistics.getInstance().saveStats();
46 torben 811 }
47     }
48    
49     private int getUpdateInterval(ServletContext cntx) {
50     int interval = 0;
51     try {
52     String intervalStr = cntx.getInitParameter("stats_interval");
53     interval = Integer.parseInt(intervalStr);
54     } catch (Exception e) {}
55    
56     return interval;
57     }
58     }

  ViewVC Help
Powered by ViewVC 1.1.20