package compbio.listeners; import java.io.IOException; 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.CassandraNativeConnector; /** * Application Lifecycle Listener implementation class ContextListener * */ @WebListener public class ContextListener implements ServletContextListener { private ScheduledExecutorService webjob_scheduler; CassandraNativeConnector db = new CassandraNativeConnector(); /** * @see ServletContextListener#contextInitialized(ServletContextEvent) */ public void contextInitialized(ServletContextEvent arg0) { System.out.println("ProteoCache session start......"); db.Connect(); webjob_scheduler = Executors.newSingleThreadScheduledExecutor(); webjob_scheduler.scheduleAtFixedRate(new Runnable() { @Override public void run() { try { db.Parsing(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }, 0, 600, TimeUnit.SECONDS); } /** * @see ServletContextListener#contextDestroyed(ServletContextEvent) */ public void contextDestroyed(ServletContextEvent arg0) { db.Closing(); System.out.println("Shut down ProteoCache......"); webjob_scheduler.shutdownNow(); } }