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