从servlet获取Spring ConfigurableApplicationContext运行时

时间:2011-01-18 10:53:13

标签: java spring jsf

我在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。

1 个答案:

答案 0 :(得分:8)

只需转发ConfigurableApplicationContext

ConfigurableApplicationContext applicationContext = 
    (ConfigurableApplicationContext) 
        WebApplicationContextUtils.getWebApplicationContext(sc);