我有一个Web应用程序,我试图通过在上下文中执行close()
方法来关闭它:
((ConfigurableApplicationContext) appContext).close();
执行此操作后,应用程序似乎继续运行,运行状况页面会产生以下异常:
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:978)
有没有办法通过Spring来扼杀整个事情,还是应该诉诸System.exit()
?
欢迎任何帮助!
答案 0 :(得分:1)
请看这些问题。它们和你的一样: How to manage Tomcat via Java, Start / stop a web application from itself?
正如@chrylis建议的那样,我认为关闭服务器的最简单方法(如果它不是以嵌入模式运行)是使用Runtime类。