1
Ich habe einen customcontextloaderlistener geschrieben und es wird aufgerufen, wenn die Webanwendung gestartet wird.Stoppen Sie die Spring-Web-Anwendung, wenn eine Bean-Initialisierung fehlschlägt
public class CustomContextLoaderListener extends ContextLoaderListener {
private Logger log = Logger.getLogger(CustomContextLoaderListener.class);
public void contextInitialized(ServletContextEvent sce){
WebApplicationContext wctx = new ContextLoader().initWebApplicationContext(sce.getServletContext());
AppContext.setWebApplicationContext(wctx);
wctx.getBeanDefinitionCount();
String [] beanNames = wctx.getBeanDefinitionNames();
for(String beanName : beanNames){
log.info(beanName);
}
Jetzt, wenn es einen Fehler in der Bean-Initialisierung gibt, möchte ich die Webanwendung stoppen. Also denke ich, dass ich so etwas tun kann.
public class CustomContextLoaderListener extends ContextLoaderListener {
private Logger log = Logger.getLogger(CustomContextLoaderListener.class);
public void contextInitialized(ServletContextEvent sce){
try {
WebApplicationContext wctx = new ContextLoader().initWebApplicationContext(sce.getServletContext());
AppContext.setWebApplicationContext(wctx);
wctx.getBeanDefinitionCount();
String [] beanNames = wctx.getBeanDefinitionNames();
for(String beanName : beanNames){
log.info(beanName);
}
}catch(Exception e) {
contextDestroyed(sce)
}
public void contextDestroyed(ServletContextEvent sce) {
// not sure how should I stop the web app here..
any ideas
}
Ja, ich bin nicht sicher, ob ich möchte System.exit verwenden in meiner Web-App – user641887