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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 959 - (show 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 package dk.thoerup.traininfoservice;
2
3 import java.util.Timer;
4 import java.util.TimerTask;
5 import java.util.logging.Logger;
6
7 import javax.servlet.ServletContext;
8 import javax.servlet.ServletContextEvent;
9 import javax.servlet.ServletContextListener;
10 import javax.servlet.annotation.WebListener;
11
12 @WebListener
13 public class StatisticsListener implements ServletContextListener {
14
15 Logger log = Logger.getLogger(StatisticsListener.class.getName());
16
17 Timer timer = null;
18 int update_interval;
19
20 public void contextInitialized(ServletContextEvent sce) {
21
22 update_interval = getUpdateInterval( sce.getServletContext() );
23
24 log.info("StatisticsListener::contextInit called update_interval=" + update_interval);
25
26 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 log.info("StatisticsListener::contextDestroyed");
43 if ( update_interval > 0 ) {
44 timer.cancel();
45 Statistics.getInstance().saveStats();
46 }
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