If suppose I am initializing datasources in ServletContextListener#contextInitialized() as:
package com.myapp.listeners;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.sql.DataSource;
public class MyAppListener implements ServletContextListener {
@Override
public void contextDestroyed(ServletContextEvent event) {
}
@Override
public void contextInitialized(ServletContextEvent event) {
try{
InitialContext initialContext = new InitialContext();
DataSource dataSource = (DataSource) initialContext.lookup("jdbc/myDB");
event.getServletContext().setAttribute("datasource", dataSource);
}catch(NamingException ne){
// TODO WHAT TO DO HERE?
}
}
}
So, what to if initializing data source fails? How can I prevent Tomcat from deploying this application, because without datasource I have no meaning of application deployed.