/[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 2081 - (hide annotations) (download)
Sat Nov 23 12:08:25 2013 UTC (10 years, 7 months ago) by torben
File size: 1712 byte(s)
Import cleanup
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.ServletContextEvent;
8     import javax.servlet.ServletContextListener;
9 torben 959 import javax.servlet.annotation.WebListener;
10 torben 811
11 torben 959 @WebListener
12 torben 811 public class StatisticsListener implements ServletContextListener {
13 torben 816
14     Logger log = Logger.getLogger(StatisticsListener.class.getName());
15 torben 811
16     Timer timer = null;
17     int update_interval;
18    
19     public void contextInitialized(ServletContextEvent sce) {
20    
21 torben 1316 TraininfoSettings settings = SettingsListener.loadSettings(sce.getServletContext());
22 torben 816
23 torben 1316 update_interval = settings.getStatsInterval();
24 torben 816
25 torben 1022 if (! sce.getServletContext().getRealPath("/").startsWith("/home/app/") ) {
26     //if path not starts with /home/app then it is not running on a production server and we only collects stats on prod servers
27 torben 1023 log.info("This is not a prod. server, dont start Statistics saver");
28 torben 1022 return;
29     }
30    
31 torben 1023
32    
33 torben 811 if ( update_interval > 0 ) {
34 torben 1023 log.info("Statistics saver started with update_interval=" + update_interval);
35 torben 811 timer = new Timer();
36    
37     TimerTask statsUpdate = new TimerTask() {
38     @Override
39     public void run() {
40     Statistics.getInstance().saveStats();
41     }
42     };
43    
44     timer.schedule(statsUpdate, 0, update_interval);
45 torben 1023 } else {
46     log.info("Statistics saver disabled (update_interval == 0) ");
47 torben 811 }
48     }
49    
50    
51     public void contextDestroyed(ServletContextEvent sce) {
52 torben 816 log.info("StatisticsListener::contextDestroyed");
53 torben 1030 if ( timer != null ) {
54 torben 811 timer.cancel();
55 torben 814 Statistics.getInstance().saveStats();
56 torben 811 }
57     }
58    
59     }

  ViewVC Help
Powered by ViewVC 1.1.20