First working code
[proteocache.git] / server / compbio / listeners / ContextListener.java
diff --git a/server/compbio/listeners/ContextListener.java b/server/compbio/listeners/ContextListener.java
new file mode 100644 (file)
index 0000000..2dfe373
--- /dev/null
@@ -0,0 +1,47 @@
+package compbio.listeners;
+
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
+
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+import javax.servlet.annotation.WebListener;
+
+import compbio.cassandra.CassandraCreate;
+
+/**
+ * Application Lifecycle Listener implementation class ContextListener
+ * 
+ */
+@WebListener
+public class ContextListener implements ServletContextListener {
+       private ScheduledExecutorService scheduler;
+       CassandraCreate cc = new CassandraCreate();
+
+       /**
+        * @see ServletContextListener#contextInitialized(ServletContextEvent)
+        */
+       public void contextInitialized(ServletContextEvent arg0) {
+               System.out.println("ProteoCache session start......");
+               cc.Connection();
+
+               scheduler = Executors.newSingleThreadScheduledExecutor();
+               scheduler.scheduleAtFixedRate(new Runnable() {
+                       @Override
+                       public void run() {
+                               cc.Parsing();
+                       }
+               }, 0, 60, TimeUnit.SECONDS);
+       }
+
+       /**
+        * @see ServletContextListener#contextDestroyed(ServletContextEvent)
+        */
+       public void contextDestroyed(ServletContextEvent arg0) {
+               cc.Closing();
+               System.out.println("Shut down ProteoCache......");
+               scheduler.shutdownNow();
+       }
+
+}