/[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 816 - (show annotations) (download)
Thu Jun 10 07:35:23 2010 UTC (13 years, 11 months ago) by torben
File size: 1484 byte(s)
Log the contextlistener calls
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
11
12 public class StatisticsListener implements ServletContextListener {
13
14 Logger log = Logger.getLogger(StatisticsListener.class.getName());
15
16 Timer timer = null;
17 int update_interval;
18
19 public void contextInitialized(ServletContextEvent sce) {
20
21 update_interval = getUpdateInterval( sce.getServletContext() );
22
23 log.info("StatisticsListener::contextInit called update_interval=" + update_interval);
24
25 if ( update_interval > 0 ) {
26 timer = new Timer();
27
28 TimerTask statsUpdate = new TimerTask() {
29 @Override
30 public void run() {
31 Statistics.getInstance().saveStats();
32 }
33 };
34
35 timer.schedule(statsUpdate, 0, update_interval);
36 }
37 }
38
39
40 public void contextDestroyed(ServletContextEvent sce) {
41 log.info("StatisticsListener::contextDestroyed");
42 if ( update_interval > 0 ) {
43 timer.cancel();
44 Statistics.getInstance().saveStats();
45 }
46 }
47
48 private int getUpdateInterval(ServletContext cntx) {
49 int interval = 0;
50 try {
51 String intervalStr = cntx.getInitParameter("stats_interval");
52 interval = Integer.parseInt(intervalStr);
53 } catch (Exception e) {}
54
55 return interval;
56 }
57 }

  ViewVC Help
Powered by ViewVC 1.1.20