package dk.daoas.daoadresseservice; import java.sql.SQLException; import javax.servlet.ServletContext; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import javax.servlet.annotation.WebListener; /** * Application Lifecycle Listener implementation class ContextListener * */ @WebListener public class ContextListener implements ServletContextListener { public static class DataLoader implements Runnable { ServletContext ctxt; public DataLoader(ServletContext ctxt) { this.ctxt = ctxt; } @Override public void run() { AdressSearch search = new AdressSearch(); try { search.buildSearchStructures(); ctxt.setAttribute("search", search); } catch (SQLException e) { System.out.println("Error loading data: " + e.getMessage()); } } } public ContextListener() { // TODO Auto-generated constructor stub } public void contextDestroyed(ServletContextEvent ctxtEvt) { // TODO Auto-generated method stub } public void contextInitialized(ServletContextEvent ctxtEvt) { System.out.println("Starting DAO Context"); ServletContext ctxt = ctxtEvt.getServletContext(); Thread t = new Thread( new DataLoader(ctxt), "SearchDataLoader"); t.start(); System.out.println("DAO Context done"); } }