我有一个 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()
?
如有任何帮助,我们将不胜感激!
最佳答案
请看看这些问题。他们和你在同一条线上: How to manage Tomcat via Java , Start / stop a web application from itself?
正如@chrylis 所建议的,我认为关闭服务器(如果它不是在嵌入式模式下运行)的最简单方法是使用运行时类。
关于java - Spring - 完全关闭 Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29069495/