Add PropertyHelper for running ProteoCache
[proteocache.git] / server / compbio / listeners / ContextListener.java
1 package compbio.listeners;
2
3 import java.io.IOException;
4 import java.util.concurrent.Executors;
5 import java.util.concurrent.ScheduledExecutorService;
6 import java.util.concurrent.TimeUnit;
7
8 import javax.servlet.ServletContextEvent;
9 import javax.servlet.ServletContextListener;
10 import javax.servlet.annotation.WebListener;
11
12 import compbio.cassandra.CassandraNativeConnector;
13 import compbio.engine.ProteoCachePropertyHelperManager;
14 import compbio.util.PropertyHelper;
15
16 /**
17  * Application Lifecycle Listener implementation class ContextListener
18  * 
19  */
20 @WebListener
21 public class ContextListener implements ServletContextListener {
22         private ScheduledExecutorService webjob_scheduler;
23         CassandraNativeConnector db = new CassandraNativeConnector();
24         static PropertyHelper ph = ProteoCachePropertyHelperManager.getPropertyHelper();
25
26         /**
27          * @see ServletContextListener#contextInitialized(ServletContextEvent)
28          */
29         public void contextInitialized(ServletContextEvent arg0) {
30                 System.out.println("ProteoCache session start......");
31                 db.Connect();
32
33                 webjob_scheduler = Executors.newSingleThreadScheduledExecutor();
34                 webjob_scheduler.scheduleAtFixedRate(new Runnable() {
35                         @Override
36                         public void run() {
37                                 try {
38                                         db.Parsing();
39                                 } catch (IOException e) {
40                                         // TODO Auto-generated catch block
41                                         e.printStackTrace();
42                                 }
43                         }
44                 }, 0, 600, TimeUnit.SECONDS);
45
46         }
47
48         /**
49          * @see ServletContextListener#contextDestroyed(ServletContextEvent)
50          */
51         public void contextDestroyed(ServletContextEvent arg0) {
52                 db.Closing();
53                 System.out.println("Shut down ProteoCache......");
54                 webjob_scheduler.shutdownNow();
55         }
56
57 }