我在jsf 调用的方法中包含以下代码。
它获得了Spring的ApplicationContext,这意味着我可以得到一个bean。
FacesContext fc = FacesContext.getCurrentInstance();
ServletContext sc = (ServletContext) fc.getExternalContext().getContext();
ApplicationContext applicationContext = org.springframework.web.context.support.WebApplicationContextUtils.getWebApplicationContext(sc);
我的问题是如何获取正在运行的spring实例的ConfigurableApplicationContext。
我希望能够调用.stop .start和.refresh方法。
另外,如果在运行的实例上还有其他方法可以调用它们,请通知我!
注意:应用程序中没有主要方法。这是部署在glassfish v2.1.1上的webApplication。
最佳答案
只需转换为ConfigurableApplicationContext
:
ConfigurableApplicationContext applicationContext =
(ConfigurableApplicationContext)
WebApplicationContextUtils.getWebApplicationContext(sc);